Class DeliveryImpl
java.lang.Object
org.apache.qpid.proton.engine.impl.DeliveryImpl
- All Implemented Interfaces:
Delivery,Extendable
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionintReturns the number of bytes currently available for this delivery, which may not be complete yet, that are still to either be received by the application or sent by the transport.voidclear()voiddisposition(DeliveryState state) updates the state of the delivery The new state may have no on-the-wire effect, if delivery settlement was already communicated to/from the peer.voidfree()TODO When does an application call this method? Do we really need this?getLink()intGets the message-format for this Delivery, representing the 32bit value using an int.byte[]getTag()booleanCheck for whether the delivery was aborted.booleanbooleanCheck for whether the delivery is still partial.booleanReturns whether this delivery has data ready to be received.booleanReturns whether this delivery has been settled.booleanReturns whether this delivery's state or settled flag has ever remotely changed.booleannext()intpending()booleanvoidsetContext(Object context) voidConfigures a default DeliveryState to be used if a received delivery is settled/freed without any disposition state having been previously applied.voidsetMessageFormat(int messageFormat) Sets the message-format for this Delivery, representing the 32bit value using an int.voidsettle()Settles this delivery.toString()
-
Field Details
-
DEFAULT_MESSAGE_FORMAT
public static final int DEFAULT_MESSAGE_FORMAT- See Also:
-
-
Method Details
-
getTag
public byte[] getTag() -
getLink
-
getLocalState
- Specified by:
getLocalStatein interfaceDelivery
-
getRemoteState
- Specified by:
getRemoteStatein interfaceDelivery
-
remotelySettled
public boolean remotelySettled()- Specified by:
remotelySettledin interfaceDelivery
-
setMessageFormat
public void setMessageFormat(int messageFormat) Description copied from interface:DeliverySets the message-format for this Delivery, representing the 32bit value using an int. The default value is 0 as per the message format defined in the core AMQP 1.0 specification.See the following for more details:
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-transfer
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-message-format
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#definition-MESSAGE-FORMAT- Specified by:
setMessageFormatin interfaceDelivery- Parameters:
messageFormat- the message format
-
getMessageFormat
public int getMessageFormat()Description copied from interface:DeliveryGets the message-format for this Delivery, representing the 32bit value using an int.- Specified by:
getMessageFormatin interfaceDelivery- Returns:
- the message-format
- See Also:
-
disposition
Description copied from interface:Deliveryupdates the state of the delivery The new state may have no on-the-wire effect, if delivery settlement was already communicated to/from the peer.- Specified by:
dispositionin interfaceDelivery- Parameters:
state- the new delivery state
-
settle
public void settle()Description copied from interface:DeliverySettles this delivery. Causes the delivery to be removed from the connection's work list (seeConnection.getWorkHead()). If this delivery is its link's current delivery, the link's current delivery pointer is advanced. -
next
-
free
public void free()Description copied from interface:DeliveryTODO When does an application call this method? Do we really need this? -
getWorkNext
- Specified by:
getWorkNextin interfaceDelivery- See Also:
-
isSettled
public boolean isSettled()Description copied from interface:DeliveryReturns whether this delivery has been settled. TODO proton-j and proton-c return the local and remote statuses respectively. Resolve this ambiguity. -
available
public int available()Description copied from interface:DeliveryReturns the number of bytes currently available for this delivery, which may not be complete yet, that are still to either be received by the application or sent by the transport. Note that this value will change as bytes are received/sent, and is in general not equal to the total length of a delivery, except the point whereDelivery.isPartial()returns false and no content has yet been received by the application or sent by the transport. -
isWritable
public boolean isWritable()- Specified by:
isWritablein interfaceDelivery
-
isReadable
public boolean isReadable()Description copied from interface:DeliveryReturns whether this delivery has data ready to be received.- Specified by:
isReadablein interfaceDelivery- See Also:
-
isAborted
public boolean isAborted()Description copied from interface:DeliveryCheck for whether the delivery was aborted. -
isPartial
public boolean isPartial()Description copied from interface:DeliveryCheck for whether the delivery is still partial. For a receiving Delivery, this means the delivery does not hold a complete message payload as all the content hasn't been received yet. Note that anaborteddelivery will also be considered partial and the full payload won't be received. For a sending Delivery, this means the sender link has not beenadvancedto complete the delivery yet. -
isUpdated
public boolean isUpdated()Description copied from interface:DeliveryReturns whether this delivery's state or settled flag has ever remotely changed. TODO what is the main intended use case for calling this method? -
clear
public void clear() -
isBuffered
public boolean isBuffered()- Specified by:
isBufferedin interfaceDelivery
-
getContext
- Specified by:
getContextin interfaceDelivery
-
setContext
- Specified by:
setContextin interfaceDelivery
-
attachments
- Specified by:
attachmentsin interfaceExtendable
-
toString
-
pending
public int pending() -
setDefaultDeliveryState
Description copied from interface:DeliveryConfigures a default DeliveryState to be used if a received delivery is settled/freed without any disposition state having been previously applied.- Specified by:
setDefaultDeliveryStatein interfaceDelivery- Parameters:
state- the default delivery state
-
getDefaultDeliveryState
- Specified by:
getDefaultDeliveryStatein interfaceDelivery
-