void OnTxnDischarge(Delivery delivery, bool fail)
{
if (!fail)
{
BrokerMessage message = (BrokerMessage)delivery;
if (message.Node != null && message.Node.List != null)
{
this.queue.Dequeue(message);
}
this.link.DisposeDelivery(delivery, true, delivery.State);
delivery.Dispose();
}
}