public RabbitMqModelContext(ConnectionContext connectionContext, IModel model, CancellationToken cancellationToken) : base(connectionContext) { _connectionContext = connectionContext; _model = model; _cancellationToken = cancellationToken; if (_connectionContext.PublisherConfirmation) { _model.ConfirmSelect(); _confirmations = new PendingConfirmationCollection(); } _model.ContinuationTimeout = _connectionContext.ContinuationTimeout; _executor = new ChannelExecutor(1); _publisher = connectionContext.BatchSettings.Enabled ? (IPublisher) new BatchPublisher(_executor, model, connectionContext.BatchSettings, _confirmations) : new ImmediatePublisher(_executor, model, _confirmations); _model.ModelShutdown += OnModelShutdown; _model.BasicAcks += OnAcknowledged; _model.BasicNacks += OnNotAcknowledged; _model.BasicReturn += OnBasicReturn; }
public PartitionCheckpointData(ReceiveSettings settings) { _executor = new ChannelExecutor(1); _receiver = new BatchCheckpointer(_executor, settings); _pending = new PendingConfirmationCollection(settings.EventHubName); }
public PartitionCheckpointData(TopicPartition partition, IConsumer <TKey, TValue> consumer, ReceiveSettings settings) { _pending = new PendingConfirmationCollection(partition); _executor = new ChannelExecutor(1); _checkpointer = new BatchCheckpointer <TKey, TValue>(_executor, consumer, settings); }