private static IPooledBuffer Serialize(IInvocationMessageHeader message, Nothing _)
 {
     using (var envelope = InvocationMessageEnvelope.Rent())
     {
         var proto = InvocationMessageHeader.Rent();
         envelope.Message = proto;
         return(envelope.Serialize());
     }
 }
        private Nothing HandleIncomingMessageHeader(IInvocationMessageHeader header, Nothing _)
        {
            switch (_incomingStreamState)
            {
            case IncomingStreamState.Open:
                _incomingStreamState = IncomingStreamState.ReceivingMessage;
                break;

            default:
                throw new InvalidOperationException($"Received unexpected message when in state {_incomingStreamState}: {header}");
            }
            return(Nothing.Instance);
        }
 public T Handle(IInvocationMessageHeader header, TArgs args)
 {
     return(_messageHandler(header, args));
 }