public override void OnDisposition(DispositionContext dispositionContext) { }
/// <summary> /// Notifies the message source the delivery state of an outgoing message. /// </summary> /// <param name="dispositionContext">Context of the received disposition performative.</param> public override void OnDisposition(DispositionContext dispositionContext) { var receiveContext = (ReceiveContext)dispositionContext.Message.Delivery.UserToken; this.messageSource.DisposeMessage(receiveContext, dispositionContext); }
/// <summary> /// Processes a received disposition performative. The endpoint should check the delivery state and /// perform appropriate actions to the message. /// </summary> /// <param name="dispositionContext">Context of the received disposition performative.</param> public abstract void OnDisposition(DispositionContext dispositionContext);
public override void OnDisposition(DispositionContext dispositionContext) { dispositionContext.Complete(); }
public void DisposeMessage(ReceiveContext receiveContext, DispositionContext dispositionContext) { if (dispositionContext.DeliveryState is Rejected) { this.deadletterMessage.Add(receiveContext.Message); } else if (dispositionContext.DeliveryState is Released) { lock (this.messages) { this.messages.Enqueue(receiveContext.Message); } } dispositionContext.Complete(); }
public override void OnDisposition(DispositionContext dispositionContext) { if (!dispositionContext.Settled) { dispositionContext.Link.DisposeMessage(dispositionContext.Message, new Accepted(), true); } }
public override void OnDisposition(DispositionContext dispositionContext) { if (!(dispositionContext.DeliveryState is Accepted)) { // Handle the case where message is not accepted by the client } dispositionContext.Complete(); }
/// <summary> /// Processes a received disposition performative. /// </summary> /// <param name="dispositionContext">Context of the received disposition performative.</param> public override void OnDisposition(DispositionContext dispositionContext) { }