public void Receive(RPCResponseMessage response) { queue.MatchMessage(response); }
public void MatchMessage(RPCResponseMessage incoming) { var matched = sentCommands.Find(s => s.ID == incoming.RequestID); if (matched != null) { if (RPCMessageReceived != null) { RPCMessageReceived(this, new RPCMessageReceivedEventArgs() { ResponseMessage = incoming, OriginalCommand = matched }); sentCommands.Remove(matched); Console.WriteLine("Matched and removed an incoming message from the queue"); return; } } throw new ApplicationException("Mismatch"); }
public void OnLoginResponse(RPCResponseMessage loginResponseMessage) { Console.WriteLine("New login handler"); loginResponseMessage.PrintDump(); this.IsLoggedIn = true; ProcessQueuedMessages(); }