コード例 #1
0
ファイル: Responder.cs プロジェクト: kouweizhong/redfoxmq
        private void SchedulerWorkerCompleted(IResponderWorker worker, object state, IMessage responseMessage)
        {
            var senderReceiver = (SenderReceiver)state;
            var responseFrame  = _messageFrameCreator.CreateFromMessage(responseMessage);

            senderReceiver.Sender.WriteMessageFrame(responseFrame);
        }
コード例 #2
0
        public ResponderWorkerWithState(IResponderWorker worker, IMessage requestMessage, object state)
        {
            if (worker == null) throw new ArgumentNullException("worker");

            Worker = worker;
            RequestMessage = requestMessage;
            State = state;
        }
コード例 #3
0
        public ResponderWorkerWithState(IResponderWorker worker, IMessage requestMessage, object state)
        {
            if (worker == null)
            {
                throw new ArgumentNullException("worker");
            }

            Worker         = worker;
            RequestMessage = requestMessage;
            State          = state;
        }
コード例 #4
0
        public void AddWorker(IResponderWorker worker, IMessage requestMessage, object state)
        {
            if (worker == null)
            {
                throw new ArgumentNullException("worker");
            }
            if (_disposed)
            {
                throw new ObjectDisposedException(GetType().FullName);
            }

            var responderWorkerWithState = new ResponderWorkerWithState(worker, requestMessage, state);

            _workers.Add(responderWorkerWithState, _disposedToken);

            IncreaseWorkerThreadsIfNeeded();
        }
コード例 #5
0
ファイル: Responder.cs プロジェクト: tleviathan/redfoxmq
 private void SchedulerWorkerCompleted(IResponderWorker worker, object state, IMessage responseMessage)
 {
     var senderReceiver = (SenderReceiver)state;
     var responseFrame = _messageFrameCreator.CreateFromMessage(responseMessage);
     senderReceiver.Sender.WriteMessageFrame(responseFrame);
 }
コード例 #6
0
        public void AddWorker(IResponderWorker worker, IMessage requestMessage, object state)
        {
            if (worker == null) throw new ArgumentNullException("worker");
            if (_disposed) throw new ObjectDisposedException(GetType().FullName);

            var responderWorkerWithState = new ResponderWorkerWithState(worker, requestMessage, state);
            _workers.Add(responderWorkerWithState, _disposedToken);

            IncreaseWorkerThreadsIfNeeded();
        }
コード例 #7
0
        public void Map <T>(IResponderWorker <T> responderWorker) where T : IMessage, new()
        {
            var messageTypeId = new T().MessageTypeId;

            _map[messageTypeId] = m => responderWorker;
        }