Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }