Package io.undertow.conduits
Class ChunkedStreamSinkConduit
java.lang.Object
org.xnio.conduits.AbstractConduit<D>
org.xnio.conduits.AbstractSinkConduit<D>
org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
io.undertow.conduits.ChunkedStreamSinkConduit
- All Implemented Interfaces:
org.xnio.conduits.Conduit
,org.xnio.conduits.SinkConduit
,org.xnio.conduits.StreamSinkConduit
public class ChunkedStreamSinkConduit
extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
Channel that implements HTTP chunked transfer coding.
- Author:
- Stuart Douglas
-
Field Summary
FieldsFields inherited from class org.xnio.conduits.AbstractConduit
next
-
Constructor Summary
ConstructorsConstructorDescriptionChunkedStreamSinkConduit
(org.xnio.conduits.StreamSinkConduit next, ByteBufferPool bufferPool, boolean configurable, boolean passClose, HeaderMap responseHeaders, ConduitListener<? super ChunkedStreamSinkConduit> finishListener, Attachable attachable) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
awaitWritable
(long time, TimeUnit timeUnit) boolean
flush()
void
long
transferFrom
(FileChannel src, long position, long count) long
transferFrom
(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) void
int
write
(ByteBuffer src) long
write
(ByteBuffer[] srcs, int offset, int length) int
writeFinal
(ByteBuffer src) long
writeFinal
(ByteBuffer[] srcs, int offset, int length) Methods inherited from class org.xnio.conduits.AbstractSinkConduit
getWriteThread, isWriteResumed, isWriteShutdown, resumeWrites, setWriteReadyHandler, suspendWrites, wakeupWrites
Methods inherited from class org.xnio.conduits.AbstractConduit
getWorker
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xnio.conduits.Conduit
getWorker
Methods inherited from interface org.xnio.conduits.SinkConduit
getWriteThread, isWriteResumed, isWriteShutdown, resumeWrites, setWriteReadyHandler, suspendWrites, wakeupWrites
-
Field Details
-
TRAILERS
Deprecated.Trailers that are to be attached to the end of the HTTP response. Note that it is the callers responsibility to make sure the client understands trailers (i.e. they have provided a TE header), and to set the 'Trailers:' header appropriately.This attachment must be set before the
terminateWrites()
method is called.
-
-
Constructor Details
-
ChunkedStreamSinkConduit
public ChunkedStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, ByteBufferPool bufferPool, boolean configurable, boolean passClose, HeaderMap responseHeaders, ConduitListener<? super ChunkedStreamSinkConduit> finishListener, Attachable attachable) Construct a new instance.- Parameters:
next
- the channel to wrapconfigurable
-true
to allow configuration of the next channel,false
otherwisepassClose
-true
to close the underlying channel when this channel is closed,false
otherwiseresponseHeaders
- The response headersfinishListener
- The finish listenerattachable
- The attachable
-
-
Method Details
-
write
- Specified by:
write
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
write
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
truncateWrites
- Specified by:
truncateWrites
in interfaceorg.xnio.conduits.SinkConduit
- Overrides:
truncateWrites
in classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
write
- Specified by:
write
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
write
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
writeFinal
- Specified by:
writeFinal
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
writeFinal
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
writeFinal
- Specified by:
writeFinal
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
writeFinal
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
transferFrom
- Specified by:
transferFrom
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
transferFrom
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
transferFrom
public long transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) throws IOException - Specified by:
transferFrom
in interfaceorg.xnio.conduits.StreamSinkConduit
- Overrides:
transferFrom
in classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
flush
- Specified by:
flush
in interfaceorg.xnio.conduits.SinkConduit
- Overrides:
flush
in classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
terminateWrites
- Specified by:
terminateWrites
in interfaceorg.xnio.conduits.SinkConduit
- Overrides:
terminateWrites
in classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritable
in interfaceorg.xnio.conduits.SinkConduit
- Overrides:
awaitWritable
in classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritable
in interfaceorg.xnio.conduits.SinkConduit
- Overrides:
awaitWritable
in classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
- Throws:
IOException
-