public ServerConnectionContext(INamedPipeServerStream pipeStream,
                                Dictionary <string, Func <ServerConnectionContext, Task> > methodHandlers)
 {
     CallContext             = new NamedPipeCallContext(this);
     PipeStream              = pipeStream;
     Transport               = new NamedPipeTransport(pipeStream);
     _methodHandlers         = methodHandlers;
     _payloadQueue           = new PayloadQueue();
     CancellationTokenSource = new CancellationTokenSource();
 }
 private async Task HandleConnection(INamedPipeServerStream pipeStream)
 {
     var ctx = new ServerConnectionContext(pipeStream, _methodHandlers);
     await Task.Run(new PipeReader(pipeStream, ctx, ctx.Dispose).ReadLoop);
 }