internal void ReceiveData() { Task.Factory.StartNew(() => { try { while (true) { // Read message length int length = reader.ReadInt32(); // Read data byte[] data = reader.ReadBytes(length); messageHandler.MessageReceived(this, data); } } catch (IOException) { // Disconnected messageHandler.PeerDisconnected(this); } }, TaskCreationOptions.LongRunning); }
public void MessageReceived(PeerConnection peer, byte[] data) { mainLoop.AddTask(() => underlying.MessageReceived(peer, data)); }
public void MessageReceived(BitTorrentPeer peer, byte[] data) { _mainLoop.AddTask(() => _underlying.MessageReceived(peer, data)); }