Interface Content.Chunk
- All Superinterfaces:
Retainable
- All Known Implementing Classes:
ByteBufferChunk
,ByteBufferChunk.ReleasedByConsumer
,ByteBufferChunk.ReleasedByRunnable
,ByteBufferChunk.WithReferenceCount
,ByteBufferChunk.WithRetainable
,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
Modifier and TypeInterfaceDescriptionstatic interface
Implementations of this interface may processContent.Chunk
s being copied by theContent.copy(Source, Sink, Processor, Callback)
method, so thatContent.Chunk
s of unknown types can be copied.Nested classes/interfaces inherited from interface org.eclipse.jetty.io.Retainable
Retainable.ReferenceCounter, Retainable.Wrapper
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Content.Chunk
An empty, non-last, chunk.static final Content.Chunk
An empty, last, chunk. -
Method Summary
Modifier and TypeMethodDescriptionstatic Content.Chunk
asChunk
(ByteBuffer byteBuffer, boolean last, Retainable retainable) default Content.Chunk
static Content.Chunk
Creates anfailure chunk
with the given failure andisLast()
returning true.static Content.Chunk
Creates anfailure chunk
with the given failure and givenlast
state.static Content.Chunk
from
(ByteBuffer byteBuffer, boolean last) Creates a Chunk with the given ByteBuffer.static Content.Chunk
from
(ByteBuffer byteBuffer, boolean last, Runnable releaser) Creates a Chunk with the given ByteBuffer.static Content.Chunk
from
(ByteBuffer byteBuffer, boolean last, Consumer<ByteBuffer> releaser) Creates a last/non-last Chunk with the given ByteBuffer.default int
get
(byte[] bytes, int offset, int length) Copies the bytes from this Chunk to the given byte array.default Throwable
default boolean
static boolean
isFailure
(Content.Chunk chunk) static boolean
isFailure
(Content.Chunk chunk, boolean last) boolean
isLast()
static Content.Chunk
next
(Content.Chunk chunk) Returns the chunk that follows the given chunk.default int
default int
skip
(int length) Skips, advancing the ByteBuffer position, the given number of bytes.Methods inherited from interface org.eclipse.jetty.io.Retainable
canRetain, release, retain
-
Field Details
-
EMPTY
An empty, non-last, chunk.
-
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
ByteBuffer
andlast
arguments as aChunk
, linked to the givenRetainable
.The
Retainable.retain()
andRetainable.release()
methods of thisChunk
will 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 chunk
with the given failure andisLast()
returning true.- Parameters:
failure
- the cause of the failure- Returns:
- a new
failure chunk
-
from
Creates an
failure chunk
with the given failure and givenlast
state.- Parameters:
failure
- the cause of the failurelast
- true if the failure is terminal, else false for transient failure- Returns:
- a new
failure chunk
-
next
-
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 anfailure
last
- Thelast
status to test for.- Returns:
- True if the chunk is non-null and
getFailure()
returns non-null andisLast()
matches the passed status.
-
getByteBuffer
ByteBuffer getByteBuffer()- Returns:
- the ByteBuffer of this Chunk
-
getFailure
Get a failure (which may be from afailure
or awarning
), if any, associated with the chunk.- A
chunk
must not have a failure and agetByteBuffer()
with content. - A
chunk
with a failure may or may not belast
. - A
chunk
with a failure must not beretainable
.
- Returns:
- A
Throwable
indicating the failure or null if there is no failure or warning. - See Also:
- A
-
isLast
boolean isLast()- Returns:
- whether this is the last Chunk
-
remaining
default int remaining()- Returns:
- the number of bytes remaining in this Chunk
-
hasRemaining
default boolean hasRemaining()- Returns:
- whether this Chunk has remaining bytes
-
get
default int get(byte[] bytes, int offset, int length) Copies the bytes from this Chunk to the given byte array.
- Parameters:
bytes
- the byte array to copy the bytes intooffset
- the offset within the byte arraylength
- the maximum number of bytes to copy- Returns:
- the number of bytes actually copied
-
skip
default int skip(int length) Skips, advancing the ByteBuffer position, the given number of bytes.
- Parameters:
length
- the maximum number of bytes to skip- Returns:
- the number of bytes actually skipped
-
asReadOnly
- Returns:
- an immutable version of this Chunk
-