private static IPooledBuffer Serialize(IInvocationSendCompleted message, Nothing _)
 {
     using (var envelope = InvocationMessageEnvelope.Rent())
     {
         var proto = InvocationSendCompletion.Rent();
         envelope.SendCompletion = proto;
         return(envelope.Serialize());
     }
 }
        private Nothing HandleIncomingCompletion(IInvocationSendCompleted completion, Nothing _)
        {
            switch (_incomingStreamState)
            {
            case IncomingStreamState.Open:
                _log.Debug("Incoming message stream completed");
                _incomingStreamState = IncomingStreamState.Completed;
                _buffer.Out.TryComplete();
                break;

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