Amqp.Listener.ListenerLink.DisposeMessage C# (CSharp) Method

DisposeMessage() public method

Sends a disposition for the message.
public DisposeMessage ( Message message, Amqp.Framing.DeliveryState deliveryState, bool settled ) : void
message Message The message to be disposed (a disposition performative will be sent for this message).
deliveryState Amqp.Framing.DeliveryState The delivery state to set on disposition.
settled bool The settled flag on disposition.
return void
        public void DisposeMessage(Message message, DeliveryState deliveryState, bool settled)
        {
            if (settled && this.autoRestore)
            {
                lock (this.ThisLock)
                {
                    if (this.restored++ >= this.credit / 2)
                    {
                        this.restored = 0;
                        this.SendFlow(this.deliveryCount, this.credit, false);
                    }
                }
            }

            Delivery delivery = message.Delivery;
            if (delivery == null || delivery.Settled)
            {
                return;
            }

            this.Session.DisposeDelivery(this.role, delivery, deliveryState, settled);
        }