void incrementOutgoingDeliveryId() { _outgoingDeliveryId = _outgoingDeliveryId.add(UnsignedInteger.ONE); }
void incrementOutgoingId() { _nextOutgoingId = _nextOutgoingId.add(UnsignedInteger.ONE); }
void incrementOutgoingDeliveryId() { _outgoingDeliveryId = _outgoingDeliveryId.add(UnsignedInteger.ONE); }
void incrementDeliveryCount() { _deliveryCount = _deliveryCount.add(UnsignedInteger.ONE); }
public void incrementNextIncomingId() { _nextIncomingId = _nextIncomingId.add(UnsignedInteger.ONE); }
public void incrementNextIncomingId() { _nextIncomingId = _nextIncomingId.add(UnsignedInteger.ONE); }
void incrementOutgoingId() { _nextOutgoingId = _nextOutgoingId.add(UnsignedInteger.ONE); }
void incrementOutgoingDeliveryId() { _outgoingDeliveryId = _outgoingDeliveryId.add(UnsignedInteger.ONE); }
void incrementDeliveryCount() { _deliveryCount = _deliveryCount.add(UnsignedInteger.ONE); }
void incrementOutgoingId() { _nextOutgoingId = _nextOutgoingId.add(UnsignedInteger.ONE); }
public void incrementNextIncomingId() { _nextIncomingId = _nextIncomingId.add(UnsignedInteger.ONE); }
void incrementDeliveryCount() { _deliveryCount = _deliveryCount.add(UnsignedInteger.ONE); }
void incrementOutgoingId() { _nextOutgoingId = _nextOutgoingId.add(UnsignedInteger.ONE); }
public void incrementNextIncomingId() { _nextIncomingId = _nextIncomingId.add(UnsignedInteger.ONE); }
public void incrementOutgoingWindow() { _outgoingWindowSize = _outgoingWindowSize.add(UnsignedInteger.ONE); }
void incrementDeliveryCount() { _deliveryCount = _deliveryCount.add(UnsignedInteger.ONE); }
private void verifyNewDeliveryIdSequence(UnsignedInteger previousId, UnsignedInteger linkIncomingId, UnsignedInteger newDeliveryId) { if(newDeliveryId == null) { throw new IllegalStateException("No delivery-id specified on first Transfer of new delivery"); } // Doing a primitive comparison, uses intValue() since its a uint sequence // and we need the primitive values to wrap appropriately during comparison. if(previousId != null && previousId.intValue() + 1 != newDeliveryId.intValue()) { throw new IllegalStateException("Expected delivery-id " + previousId.add(UnsignedInteger.ONE) + ", got " + newDeliveryId); } if(linkIncomingId != null) { throw new IllegalStateException("Illegal multiplex of deliveries on same link with delivery-id " + linkIncomingId + " and " + newDeliveryId); } }
public boolean hasOutgoingCredit() { return _remoteIncomingWindow == null ? false : _remoteIncomingWindow.add(_remoteNextIncomingId).compareTo(_nextOutgoingId)>0 && _outgoingWindowSize.compareTo(UnsignedInteger.ZERO)>0; }
public void settled(TransportDelivery transportDelivery) { if(transportDelivery.getTransportLink().getLink() instanceof ReceiverImpl) { _unsettledIncomingDeliveriesById.remove(transportDelivery.getDeliveryId()); _incomingWindowSize = _incomingWindowSize.add( UnsignedInteger.valueOf(transportDelivery.getSessionSize())); _incomingWindowSizeChange = true; getSession().modified(); } else { _unsettledOutgoingDeliveriesById.remove(transportDelivery.getDeliveryId()); _outgoingWindowSize = _outgoingWindowSize.add(UnsignedInteger.valueOf(transportDelivery.getSessionSize())); _outgoingWindowSizeChange = true; getSession().modified(); } }
@Override void handleFlow(Flow flow) { super.handleFlow(flow); _drain = flow.getDrain(); getLink().setDrain(flow.getDrain()); int oldCredit = getLink().getCredit(); UnsignedInteger oldLimit = getLinkCredit().add(getDeliveryCount()); UnsignedInteger transferLimit = flow.getLinkCredit().add(flow.getDeliveryCount() == null ? ORIGINAL_DELIVERY_COUNT : flow.getDeliveryCount()); UnsignedInteger linkCredit = transferLimit.subtract(getDeliveryCount()); setLinkCredit(linkCredit); getLink().setCredit(transferLimit.subtract(oldLimit).intValue() + oldCredit); DeliveryImpl current = getLink().current(); getLink().getConnectionImpl().workUpdate(current); setLinkCredit(linkCredit); }