internal byte[] GetResponseBytes(byte[] requestBytes)
 {
     try
     {
         RpcRequest request = _serializer.ToObject <RpcRequest>(requestBytes);
         return(GetResponseBytes(request));
     }
     catch (Exception ex)
     {
         return(_serializer.ToBytes(new RpcResponse
         {
             Message = ex.ToString(),
         }));
     }
 }
Example #2
0
        private RpcResponse GerResponseFromServer(IChannel channel, RpcRequest request, ClientWaiter waiter)
        {
            _clientInvoker.Add(channel, waiter);
            IByteBuffer buffer = Unpooled.WrappedBuffer(_rpcSerializer.ToBytes(request));

            channel.WriteAndFlushAsync(buffer);
            waiter.Wait();
            _channelPool.Return(channel);
            return(_rpcSerializer.ToObject <RpcResponse>(waiter.Bytes));
        }
Example #3
0
        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)
        {
            RpcResponse rpcResponse = new RpcResponse
            {
                Message = exception.ToString(),
            };

            byte[] bytes = _rpcSerializer.ToBytes(rpcResponse);
            _clientInvoker.Set(context.Channel, bytes);
            context.CloseAsync();
        }