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)); }
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(), })); } }