Example #1
0
        public InMemoryConnection CreateConnection()
        {
            var transportConnection = new InMemoryTransportConnection(_memoryPool, Context.Log);

            _ = HandleConnection(transportConnection);
            return(new InMemoryConnection(transportConnection));
        }
Example #2
0
        private async Task HandleConnection(InMemoryTransportConnection transportConnection)
        {
            try
            {
                var middlewareTask = _transportFactory.ConnectionDispatcher.OnConnection(transportConnection);
                var transportTask  = CancellationTokenAsTask(transportConnection.ConnectionClosed);

                await transportTask;
                await middlewareTask;

                transportConnection.Dispose();
            }
            catch (Exception ex)
            {
                Debug.Assert(false, $"Unexpected exception: {ex}.");
            }
        }
Example #3
0
 public InMemoryConnection(InMemoryTransportConnection transportConnection)
     : base(new RawStream(transportConnection.Output, transportConnection.Input))
 {
     TransportConnection = transportConnection;
 }