UnsignedInteger deliveryId = transportLink.getDeliveryCount();
TransportDelivery transportDelivery = new TransportDelivery(deliveryId, delivery, transportLink);
delivery.setTransportDelivery(transportDelivery);
sender.getSession().getTransportSession().addUnsettledOutgoing(deliveryId, delivery);
final Transfer transfer = new Transfer();
transfer.setDeliveryId(deliveryId);
transfer.setDeliveryTag(new Binary(delivery.getTag()));
transfer.setHandle(transportLink.getLocalHandle());
if(delivery.isSettled())
{
transfer.setSettled(Boolean.TRUE);
}
if(delivery.getLink().current() == delivery)
{
transfer.setMore(true);
}
transfer.setMessageFormat(UnsignedInteger.ZERO);
// TODO - large frames
ByteBuffer payload = delivery.getData() == null ? null : ByteBuffer.wrap(delivery.getData(), delivery.getDataOffset(), delivery.getDataLength());
int frameBytes = writeFrame(buffer,