Ejemplo n.º 1
0
        private static BoltChannel NewBoltChannel(EmbeddedChannel rawChannel)
        {
            BoltChannel boltChannel = mock(typeof(BoltChannel));

            when(boltChannel.RawChannel()).thenReturn(rawChannel);
            return(boltChannel);
        }
        public override BoltConnection NewConnection(BoltChannel channel, BoltStateMachine stateMachine)
        {
            requireNonNull(channel);
            requireNonNull(stateMachine);

            BoltScheduler              scheduler              = _schedulerProvider.get(channel);
            BoltConnectionReadLimiter  readLimiter            = CreateReadLimiter(_config, _logService);
            BoltConnectionQueueMonitor connectionQueueMonitor = new BoltConnectionQueueMonitorAggregate(scheduler, readLimiter);
            ChunkedOutput              chunkedOutput          = new ChunkedOutput(channel.RawChannel(), _throttleGroup);

            BoltConnection connection;

            if (_monitors.hasListeners(typeof(BoltConnectionMetricsMonitor)))
            {
                connection = new MetricsReportingBoltConnection(channel, chunkedOutput, stateMachine, _logService, scheduler, connectionQueueMonitor, _metricsMonitor, _clock);
            }
            else
            {
                connection = new DefaultBoltConnection(channel, chunkedOutput, stateMachine, _logService, scheduler, connectionQueueMonitor);
            }

            connection.Start();

            return(connection);
        }