private StreamTransmissionConnection(UniqueId id, Stream stream)
 {
     Id        = id;
     _log      = LogManager.GetLogger <StreamTransmissionConnection>(id.ToString());
     _stream   = stream;
     Out       = new ConsumingChannel <IPooledBuffer>(3, SendAsync, CompleteSendingAsync, DisposeRejected);
     _receiver = new ProducingChannel <IPooledBuffer>(3, ReceiveLoopAsync);
     In        = _receiver;
     // producer.PropagateTerminationFrom(Out.Completion);
     Completion = TaskRunner.RunInBackground(ProcessAsync).LogCompletion(_log);
 }
 public MessagingReceiveProcessor(
     ITransmissionConnection connection,
     ITransportProtocolDeserializer deserializer)
 {
     Id            = connection.Id;
     _log          = LogManager.GetLogger <MessagingReceiveProcessor>(Id.ToString());
     _connection   = connection.In;
     _deserializer = deserializer;
     In            = new ProducingChannel <TransportMessage>(3, ReceiveLoopAsync);
     In.Completion.LogCompletion(_log);
 }
Exemplo n.º 3
0
        public ClientConnection(ITransportConnection connection, ClientConnectionDescriptor clientInfo)
        {
            Id          = connection.Id;
            _log        = LogManager.GetLogger <ClientConnection>(Id.ToString());
            Info        = clientInfo;
            _connection = connection;
            var listen = new ProducingChannel <ITransportChannel>(1, ListenAsync);

            IncomingChannels = listen;
            Completion       = TaskRunner.RunInBackground(ProcessAsync);
        }