Interface StreamDelivery
- All Known Implementing Classes:
ClientStreamDelivery
StreamDelivery
type that is returned from the StreamReceiver
which can be used to read incoming large messages that are streamed via multiple incoming
AMQP Transfer
frames.-
Method Summary
Modifier and TypeMethodDescriptionboolean
aborted()
Check if theStreamDelivery
has been marked as aborted by the remote sender.accept()
Accepts and settles the delivery.Decodes theStreamDelivery
payload and returns aMap
containing a copy of any associatedDeliveryAnnotations
that were transmitted with theMessage
payload of thisStreamDelivery
.boolean
Check if theStreamDelivery
has been marked as complete by the remote sender.disposition
(DeliveryState state, boolean settle) Updates the DeliveryState, and optionally settle the delivery as well.message()
Decode theStreamDelivery
payload and return anMessage
object.int
Gets the message format for the current delivery.modified
(boolean deliveryFailed, boolean undeliverableHere) Modifies and settles the delivery.Create and return anInputStream
that reads the raw payload bytes of the givenStreamDelivery
.receiver()
Rejects and settles the delivery, sending supplied error information along with the rejection.release()
Releases and settles the delivery.boolean
Gets whether the delivery was settled by the remote peer yet.Gets the current remote state for the delivery.settle()
Settles the delivery locally.boolean
settled()
state()
Gets the current local state for the delivery.
-
Method Details
-
receiver
StreamReceiver receiver()- Returns:
- the
StreamReceiver
that originated thisStreamDelivery
.
-
message
Decode theStreamDelivery
payload and return anMessage
object.If the incoming message carried any delivery annotations they can be accessed via the
annotations()
method. Re-sending the returned message will not also send the incoming delivery annotations, the sender must include them in theSender.send(Message, Map)
call if they are to be forwarded onto the next recipient.Calling this message claims the payload of the delivery for the returned
Message
and excludes use of therawInputStream()
method of theStreamDelivery
object. Calling therawInputStream()
method after calling this method throwsClientIllegalStateException
.- Returns:
- a
Message
instance that wraps the decoded payload. - Throws:
ClientException
- if an error occurs while decoding the payload.
-
rawInputStream
Create and return anInputStream
that reads the raw payload bytes of the givenStreamDelivery
.Calling this method claims the payload of the delivery for the returned
InputStream
and excludes use of themessage()
andannotations()
methods of theStreamDelivery
object. Closing the returned input stream discards any unread bytes from the delivery payload. Calling themessage()
orannotations()
methods after calling this method throwsClientIllegalStateException
.- Returns:
- an
InputStream
instance that can be used to read the raw delivery payload. - Throws:
ClientException
- if an error occurs while decoding the payload.
-
aborted
boolean aborted()Check if theStreamDelivery
has been marked as aborted by the remote sender.- Returns:
- true if this context has been marked as aborted previously.
-
completed
boolean completed()Check if theStreamDelivery
has been marked as complete by the remote sender.- Returns:
- true if this context has been marked as being the complete.
-
annotations
Decodes theStreamDelivery
payload and returns aMap
containing a copy of any associatedDeliveryAnnotations
that were transmitted with theMessage
payload of thisStreamDelivery
.Calling this message claims the payload of the delivery for the returned
Map
and the decodedMessage
that can be accessed via themessage()
method and excludes use of therawInputStream()
method of theStreamDelivery
object. Calling therawInputStream()
method after calling this method throwsClientIllegalStateException
.- Returns:
- copy of the delivery annotations that were transmitted with the
Message
payload. - Throws:
ClientException
- if an error occurs while decoding the payload.
-
accept
Accepts and settles the delivery.- Returns:
- this
StreamDelivery
instance. - Throws:
ClientException
- if an error occurs while sending the disposition
-
release
Releases and settles the delivery.- Returns:
- this
StreamDelivery
instance. - Throws:
ClientException
- if an error occurs while sending the disposition
-
reject
Rejects and settles the delivery, sending supplied error information along with the rejection.- Parameters:
condition
- The error condition value to supply with the rejection.description
- The error description value to supply with the rejection.- Returns:
- this
StreamDelivery
instance. - Throws:
ClientException
- if an error occurs while sending the disposition
-
modified
Modifies and settles the delivery.- Parameters:
deliveryFailed
- Indicates if the modified delivery failed.undeliverableHere
- Indicates if the modified delivery should not be returned here again.- Returns:
- this
StreamDelivery
instance. - Throws:
ClientException
- if an error occurs while sending the disposition
-
disposition
Updates the DeliveryState, and optionally settle the delivery as well.- Parameters:
state
- the delivery state to applysettle
- whether tosettle()
the delivery at the same time- Returns:
- this
StreamDelivery
instance. - Throws:
ClientException
- if an error occurs while sending the disposition
-
settle
Settles the delivery locally.- Returns:
- the delivery
- Throws:
ClientException
- if an error occurs while sending the disposition
-
settled
- Returns:
- true if the delivery has been locally settled.
- Throws:
ClientException
- if an error occurs while reading the settled state
-
state
Gets the current local state for the delivery.- Returns:
- the delivery state
- Throws:
ClientException
- if an error occurs while reading the delivery state
-
remoteState
Gets the current remote state for the delivery.- Returns:
- the remote delivery state
- Throws:
ClientException
- if an error occurs while reading the remote delivery state
-
remoteSettled
Gets whether the delivery was settled by the remote peer yet.- Returns:
- whether the delivery is remotely settled
- Throws:
ClientException
- if an error occurs while reading the remote settlement state
-
messageFormat
Gets the message format for the current delivery.- Returns:
- the message format
- Throws:
ClientException
- if an error occurs while reading the delivery message format
-