Пример #1
0
        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);
        }
Пример #2
0
 public void MessageReceived(PeerConnection peer, byte[] data)
 {
     mainLoop.AddTask(() => underlying.MessageReceived(peer, data));
 }
Пример #3
0
 public void MessageReceived(BitTorrentPeer peer, byte[] data)
 {
     _mainLoop.AddTask(() => _underlying.MessageReceived(peer, data));
 }