Пример #1
0
        public void listen(ImMessageContext messageContext)
        {
            if (messageContext == null)
            {
                return;
            }

            if (this.clientAckSender != null && messageContext.Response?.ResponseHead?.Isack == true)
            {
                this.clientAckSender(messageContext.Response?.ResponseHead?.Messageid);
            }

            IClientMessageListenExecutor listenExecutor = listenExecutors[messageContext.Type];

            if (listenExecutor != null)
            {
                listenExecutor.execute(messageContext);
                if (listenExecutor.executedAndClose())
                {
                    this.currentChannel.CloseAsync();
                }
            }
        }