abstract private OnTransfer ( Amqp.Delivery delivery, Amqp.Framing.Transfer transfer, ByteBuffer buffer ) : void | ||
delivery | Amqp.Delivery | |
transfer | Amqp.Framing.Transfer | |
buffer | ByteBuffer | |
return | void |
void OnTransfer(Transfer transfer, ByteBuffer buffer) { bool newDelivery; lock (this.ThisLock) { this.nextIncomingId++; this.incomingWindow--; if (this.incomingWindow == 0) { this.SendFlow(new Flow()); } newDelivery = transfer.HasDeliveryId && transfer.DeliveryId > this.incomingDeliveryId; if (newDelivery) { this.incomingDeliveryId = transfer.DeliveryId; } } Link link = this.GetLink(transfer.Handle); Delivery delivery = null; if (newDelivery) { delivery = new Delivery() { DeliveryId = transfer.DeliveryId, Link = link, Tag = transfer.DeliveryTag, Settled = transfer.Settled, State = transfer.State, Batchable = transfer.Batchable }; if (!delivery.Settled) { lock (this.ThisLock) { this.incomingList.Add(delivery); } } } link.OnTransfer(delivery, transfer, buffer); }
void OnTransfer(Transfer transfer, ByteBuffer buffer) { bool newDelivery; lock (this.ThisLock) { this.nextIncomingId++; newDelivery = transfer.HasDeliveryId && transfer.DeliveryId > this.incomingDeliveryId; if (newDelivery) { this.incomingDeliveryId = transfer.DeliveryId; } } Link link = this.GetLink(transfer.Handle); Delivery delivery = null; if (newDelivery) { delivery = new Delivery() { DeliveryId = transfer.DeliveryId, Tag = transfer.DeliveryTag, Settled = transfer.Settled, State = transfer.State }; if (!delivery.Settled) { lock (this.ThisLock) { this.incomingList.Add(delivery); } } } link.OnTransfer(delivery, transfer, buffer); }