protected virtual void HandleKeepAliveMessage(PeerId id, KeepAliveMessage message) { id.LastMessageReceived = DateTime.Now; }
public void ReceiveTwoKeepAlives() { var message = new KeepAliveMessage (); var buffer = message.Encode (); var handle = new AutoResetEvent (false); NetworkIO.EnqueueSend (Outgoing, buffer, 0, buffer.Length, null, null, null, delegate { }, null); NetworkIO.EnqueueSend (Outgoing, buffer, 0, buffer.Length, null, null, null, delegate { }, null); AsyncMessageReceivedCallback callback = (s, m, state) => { if (s && m is KeepAliveMessage) handle.Set (); }; PeerIO.EnqueueReceiveMessage (Incoming, new PlainTextEncryption (), null, null, null, callback, null); Assert.IsTrue (handle.WaitOne (TimeSpan.FromSeconds (2)), "#Should receive first message"); PeerIO.EnqueueReceiveMessage (Incoming, new PlainTextEncryption (), null, null, null, callback, null); Assert.IsTrue (handle.WaitOne (TimeSpan.FromSeconds (2)), "#Should receive second message"); }