public ProtobufProtocolSerializer(IProtocolMessageFactory messageFactory)
 {
     _messageFactory = messageFactory;
     _clientToBrokerRequestSerializer = new ClientToBrokerRequestHandler <IPooledBuffer, Nothing>(Serialize, Serialize, Serialize);
     _brokerToClientRequestSerializer = new BrokerToClientRequestHandler <IPooledBuffer, Nothing>(Serialize);
     _invocationMessageSerializer     = new InvocationMessageHandler <IPooledBuffer, Nothing>(Serialize, Serialize, Serialize);
     _setInvocationTargetHandler      = new InvocationTargetHandler <IDisposable, InvocationStartRequest>(SetTarget, SetTarget);
 }
 public T Handle <T, TArgs>(ClientToBrokerRequestHandler <T, TArgs> handler, TArgs args = default)
 {
     return(handler.Handle(this, args));
 }