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