Amqp.Link.OnTransfer C# (CSharp) Метод

OnTransfer() абстрактный приватный Метод

abstract private OnTransfer ( Amqp.Delivery delivery, Amqp.Framing.Transfer transfer, ByteBuffer buffer ) : void
delivery Amqp.Delivery
transfer Amqp.Framing.Transfer
buffer ByteBuffer
Результат void
        internal abstract void OnTransfer(Delivery delivery, Transfer transfer, ByteBuffer buffer);

Usage Example

Пример #1
0
        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);
        }
All Usage Examples Of Amqp.Link::OnTransfer