protected override void OnAbort(Error error)
{
Delivery toRelease = null;
while (true)
{
lock (this.ThisLock)
{
if (this.writing)
{
// wait until write finishes (either all deliveries are handed over to session or no credit is available)
}
else
{
toRelease = (Delivery)this.outgoingList.Clear();
break;
}
}
}
Delivery.ReleaseAll(toRelease, error);
}