Beispiel #1
0
        public Channel(ChannelOptions options, ushort channelNumber, ConnectionIO connectionIo, CancellationToken cancellationToken)
        {
            _options = options;

            _schedulerToDeliverMessages = (options != null ? options.Scheduler : null) ?? TaskScheduler.Default;

            _cancellationToken = cancellationToken;
            _io = new ChannelIO(this, channelNumber, connectionIo)
            {
                ErrorCallbacks = _errorsCallbacks
            };

            _consumerSubscriptions = new ConcurrentDictionary <string, BasicConsumerSubscriptionInfo>(StringComparer.Ordinal);

            _propertiesPool = new ObjectPoolArray <BasicProperties>(() => new BasicProperties(isFrozen: false, reusable: true), 100, preInitialize: false);
        }
Beispiel #2
0
        public Channel(ushort channelNumber, ConnectionIO connectionIo, CancellationToken cancellationToken)
        {
            _cancellationToken = cancellationToken;
            _io = new ChannelIO(this, channelNumber, connectionIo)
            {
                OnError = error =>
                {
                    var ev = this.OnError;
                    if (ev != null)
                    {
                        ev(error);
                    }
                }
            };

            _consumerSubscriptions = new ConcurrentDictionary <string, BasicConsumerSubscriptionInfo>(StringComparer.Ordinal);

            _propertiesPool = new ObjectPool <BasicProperties>(() => new BasicProperties(false, reusable: true), 100, preInitialize: false);
        }