internal void send(DispathArgs data) { /* * Тут должен быть планировщик нагрузки и т.д. */ if (data.Devices == null) { //broadcast sessions.BroadcastAsync(data.Data, () => { /* action */ }); //Эта хуйня отправит и тем кто ещё не прошёл аутентификацию foreach (var device in DeviceManager.DeviceList) { if (device.IsAuth) { device.SendData(data.Data); } } } else { foreach (var device in data.Devices) { device?.SendData(data.Data); } } }
private void sendAsync(DispathArgs data) { /* * Тут должен быть планировщик нагрузки и т.д. */ //Заюзать Task? ThreadPool.QueueUserWorkItem( state => send(data) ); }
public void Send(DispathArgs data) { if (data == null || data.Data == null) { throw new ArgumentNullException("error"); //TODO: } if (webSocket.IsListening != true) { throw new Exception("Server is not running"); //TODO: } sendAsync(data); }