Contour.Transport.RabbitMQ.Internal.RabbitChannel.BuildCancellableConsumer C# (CSharp) Method

BuildCancellableConsumer() public method

The build cancellable consumer.
public BuildCancellableConsumer ( CancellationToken cancellationToken ) : Contour.Transport.RabbitMQ.Internal.CancellableQueueingConsumer
cancellationToken System.Threading.CancellationToken /// The cancellation token. ///
return Contour.Transport.RabbitMQ.Internal.CancellableQueueingConsumer
        public CancellableQueueingConsumer BuildCancellableConsumer(CancellationToken cancellationToken)
        {
            return new CancellableQueueingConsumer(this.Native, cancellationToken);
        }

Usage Example

Example #1
0
        private CancellableQueueingConsumer InitializeConsumer(CancellationToken token, out RabbitChannel channel)
        {
            // Opening a new channel may lead to a new connection creation
            channel           = this.connection.OpenChannel(token);
            channel.Shutdown += this.OnChannelShutdown;
            this.channels.Add(channel);

            if (this.ReceiverOptions.GetQoS().HasValue)
            {
                channel.SetQos(
                    this.ReceiverOptions.GetQoS().Value);
            }

            var consumer = channel.BuildCancellableConsumer(token);
            var tag      = channel.StartConsuming(
                this.endpoint.ListeningSource,
                this.ReceiverOptions.IsAcceptRequired(),
                consumer);

            this.logger.Trace(
                $"A consumer tagged [{tag}] has been registered in listener of [{string.Join(",", this.AcceptedLabels)}]");

            return(consumer);
        }