예제 #1
0
        private void ProcessRequest(byte[] buffer)
        {
            TRequest request = _requestUnmarshaller(buffer);
            TReply   reply   = _internalChannel.SendRequest(request).Receive(TimeSpan.FromMinutes(5)).Value; //??

            byte[] replyData = _replyMarshaller(reply);
            _socket.Send(replyData);
        }
예제 #2
0
 public IDisposable SendRequest(Func <T, bool> request, IFiber fiber, Action <T[]> onReply)
 {
     return(_request.SendRequest(request, fiber, onReply));
 }
        private void ProcessRequest(byte[] id, byte[] msgId, byte[] msgBuffer)
        {
            TRequest req = _requestUnmarshaller(msgBuffer);

            _internalChannel.SendRequest(req, _stub, reply => SendReply(id, msgId, reply));
        }
예제 #4
0
 public async Task <object> Ask(object message)
 {
     return(await Task.Run(() => _askChannel.SendRequest(message).Receive(TimeSpan.MaxValue)));
 }
예제 #5
0
 public IDisposable SendRequest(TRequest request, IFiber fiber, Action <TReply> onReply)
 {
     return(_internalChannel.SendRequest(request, fiber, onReply));
 }
예제 #6
0
 SendRequest(Func <TKey, bool> request, IFiber fiber, Action <KeyValuePair <TKey, T>[]> onReply) =>
 _request.SendRequest(request, fiber, onReply);