Ejemplo n.º 1
0
 public void SetDeliveryTerminalState(Delivery delivery, DeliveryState state)
 {
     delivery.State = state;
     delivery.Settled = delivery.ReceiverSettlementMode == LinkReceiverSettlementModeEnum.First;
     if (delivery.Settled)
     {
         if (IsReceiverLink)
         {
             LinkCredit++;
             if (DeliveryCount % ReflowModulus == 0)
                 SendFlow(drain: false, echo: false);
         }
     }
     Session.SendDeliveryDisposition(this.IsReceiverLink, delivery, state, delivery.Settled);
 }
Ejemplo n.º 2
0
 public void SendDeliveryDisposition(bool role, Delivery delivery, DeliveryState state, bool settled)
 {
     if (delivery != null)
     {
         var disposition = new Disposition()
         {
             Role = role,
             First = delivery.DeliveryId,
             Settled = settled,
             State = state,
         };
         if (settled)
         {
             incomingWindow++;
         }
         this.SendFrame(disposition);
     }
 }