AspComet.MessageBus.HandleMessages C# (CSharp) 메소드

HandleMessages() 공개 메소드

public HandleMessages ( Message messages, ICometAsyncResult asyncResult ) : void
messages Message
asyncResult ICometAsyncResult
리턴 void
        public void HandleMessages(Message[] messages, ICometAsyncResult asyncResult)
        {
            // Do this before we process the messages in case it's a disconnect
            IClient sendingClient = GetSenderOf(messages);

            IMessagesProcessor processor = this.CreateProcessorAndProcess(messages);

            if (sendingClient == null)
            {
                asyncResult.CompleteRequestWithMessages(processor.Result);
                return;
            }

            if (sendingClient.CurrentAsyncResult != null)
            {
                sendingClient.FlushQueue();
            }

            sendingClient.CurrentAsyncResult = asyncResult;
            sendingClient.Enqueue(processor.Result);

            if (processor.ShouldSendResultStraightBackToClient)
            {
                sendingClient.FlushQueue();
            }
        }