Example #1
0
        private void EnsureUplinkPump(TcpClient endpoint, ConnectionId connectionId)
        {
            var localDataChannel = new LocalTcpDataChannel(_log, _metrics.Local, connectionId.ToString(), endpoint);

            var uplinkPump = new UplinkPump(_log, connectionId, localDataChannel, _dataChannel);

            _uplinkPumps[uplinkPump] = uplinkPump;

            _downlinkPump?.AddDispatchQueue(connectionId, localDataChannel);

            _metrics.LocalEstablishedConnections.Increment();

            _log.Verbose("ConnectionId {connectionId}. uplink pump is created", connectionId);

            uplinkPump.RunAsync().ContinueWith(OnUplinkPumpCompleted);
        }
Example #2
0
        private async Task <ILocalDataChannelWriter> CreateLocalDataChannel(ConnectionId connectionId)
        {
            var localDataChannel = await _localDataChannelFactory.Create(_log, _metrics.Local, connectionId);

            var uplinkPump = new UplinkPump(_log, connectionId, localDataChannel, _relayDataChannel);

            _uplinkPumps[uplinkPump] = uplinkPump;

            _metrics.LocalEstablishedConnections.Increment();

#pragma warning disable 4014
            uplinkPump.RunAsync().ContinueWith(OnUplinkPumpCompleted);
#pragma warning restore 4014

            return(localDataChannel);
        }