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); }
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); }