public void RespondToMessage(byte[] bytes, IPEndPoint remoteEp) { Message msg = Message.Decode <Message>(bytes); MessageId convId = msg.ConvId; ConversationQueue queue = ConversationDictionary.Instance.Lookup(convId); if (queue == null) { ExecuteBasedOnType(bytes, msg.MessageType, remoteEp); } else { queue.Enqueue(bytes); } }
public ConversationQueue CreateQueue(MessageId convId) { ConversationQueue result = null; if (convId != null) { result = Lookup(convId); if (result == null) { result = new ConversationQueue() { QueueID = convId }; _ConversationDictionary.TryAdd(convId, result); } } return(result); }