Interface Content.Chunk
- All Superinterfaces:
 Retainable, RetainableByteBuffer
- All Known Implementing Classes:
 Content.Chunk.Empty, Trailers
- Enclosing class:
 Content
A chunk of content indicating whether it is the last chunk.
Optionally, a release function may be specified (for example
to release the ByteBuffer back into a pool), or the
Retainable.release() method overridden.
- 
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classAn empty chunk implementation.static interfaceImplementations of this interface may processContent.Chunks being copied by theContent.copy(Source, Sink, Processor, Callback)method, so thatContent.Chunks of unknown types can be copied.Nested classes/interfaces inherited from interface Retainable
Retainable.ReferenceCounterNested classes/interfaces inherited from interface RetainableByteBuffer
RetainableByteBuffer.Abstract, RetainableByteBuffer.DynamicCapacity, RetainableByteBuffer.EmptyRetainableByteBuffer, RetainableByteBuffer.FixedCapacity, RetainableByteBuffer.Mutable, RetainableByteBuffer.NonRetainableByteBuffer, RetainableByteBuffer.Pooled, RetainableByteBuffer.Wrapper - 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Content.ChunkAn empty, non-last, chunk instance.static final Content.ChunkAn empty, last, chunk.Fields inherited from interface Retainable
NON_RETAINABLE - 
Method Summary
Modifier and TypeMethodDescriptionstatic Content.ChunkasChunk(ByteBuffer byteBuffer, boolean last, Retainable retainable) default Content.ChunkDeprecated, for removal: This API element is subject to removal in a future version.static Content.ChunkCreates anfailure chunkwith the given failure andisLast()returning true.static Content.ChunkCreates anfailure chunkwith the given failure and givenlaststate.static Content.Chunkfrom(ByteBuffer byteBuffer, boolean last) Creates a Chunk with the given ByteBuffer.static Content.Chunkfrom(ByteBuffer byteBuffer, boolean last, Runnable releaser) Creates a Chunk with the given ByteBuffer.static Content.Chunkfrom(ByteBuffer byteBuffer, boolean last, Consumer<ByteBuffer> releaser) Creates a last/non-last Chunk with the given ByteBuffer.default Throwablestatic booleanisFailure(Content.Chunk chunk) static booleanisFailure(Content.Chunk chunk, boolean last) booleanisLast()static Content.Chunknext(Content.Chunk chunk) Returns the chunk that follows the given chunk.static Content.ChunkreleaseAndNext(Content.Chunk chunk) Convenience method to release a chunk and returnnext(Chunk).Methods inherited from interface Retainable
canRetain, getRetained, isRetained, release, retainMethods inherited from interface RetainableByteBuffer
appendTo, appendTo, asMutable, capacity, clear, copy, get, get, get, getByteBuffer, hasRemaining, isDirect, isEmpty, isFull, isMutable, limit, maxSize, putTo, remaining, size, skip, slice, slice, space, take, take, takeByteArray, takeFrom, toDetailString, writeTo, writeTo 
- 
Field Details
- 
EMPTY
An empty, non-last, chunk instance.
 - 
EOF
An empty, last, chunk.
 
 - 
 - 
Method Details
- 
from
Creates a Chunk with the given ByteBuffer.
The returned Chunk must be
released.- Parameters:
 byteBuffer- the ByteBuffer with the bytes of this Chunklast- whether the Chunk is the last one- Returns:
 - a new Chunk
 
 - 
from
Creates a Chunk with the given ByteBuffer.
The returned Chunk must be
released.- Parameters:
 byteBuffer- the ByteBuffer with the bytes of this Chunklast- whether the Chunk is the last onereleaser- the code to run when this Chunk is released- Returns:
 - a new Chunk
 
 - 
from
Creates a last/non-last Chunk with the given ByteBuffer.
The returned Chunk must be
released.- Parameters:
 byteBuffer- the ByteBuffer with the bytes of this Chunklast- whether the Chunk is the last onereleaser- the code to run when this Chunk is released- Returns:
 - a new Chunk
 
 - 
asChunk
Returns the given
ByteBufferandlastarguments as aChunk, linked to the givenRetainable.The
Retainable.retain()andRetainable.release()methods of thisChunkwill delegate to the givenRetainable.- Parameters:
 byteBuffer- the ByteBuffer with the bytes of this Chunklast- whether the Chunk is the last oneretainable- the Retainable this Chunk links to- Returns:
 - a new Chunk
 
 - 
from
Creates an
failure chunkwith the given failure andisLast()returning true.- Parameters:
 failure- the cause of the failure- Returns:
 - a new 
failure chunk 
 - 
from
Creates an
failure chunkwith the given failure and givenlaststate.- Parameters:
 failure- the cause of the failurelast- true if the failure is terminal, else false for transient failure- Returns:
 - a new 
failure chunk 
 - 
next
 - 
releaseAndNext
Convenience method to release a chunk and returnnext(Chunk). Equivalent to:if (chunk != null) { chunk.release(); chunk = Chunk.next(chunk); }- Parameters:
 chunk- The chunk to release ornull- Returns:
 - The 
next(Chunk)chunk; 
 - 
isFailure
- Parameters:
 chunk- The chunk to test for anfailure.- Returns:
 - True if the chunk is non-null and 
chunk.getError()returns non-null. 
 - 
isFailure
- Parameters:
 chunk- The chunk to test for anfailurelast- Thelaststatus to test for.- Returns:
 - True if the chunk is non-null and 
getFailure()returns non-null andisLast()matches the passed status. 
 - 
getFailure
Get a failure (which may be from afailureor awarning), if any, associated with the chunk.- A 
chunkmust not have a failure and aRetainableByteBuffer.getByteBuffer()with content. - A 
chunkwith a failure may or may not belast. - A 
chunkwith a failure must not beretainable. 
- Returns:
 - A 
Throwableindicating the failure or null if there is no failure or warning. - See Also:
 
 - A 
 - 
isLast
boolean isLast()- Returns:
 - whether this is the last Chunk
 
 - 
asReadOnly
Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
 - an immutable version of this Chunk
 
 
 -