Package io.undertow.conduits
Class PreChunkedStreamSinkConduit
- java.lang.Object
-
- org.xnio.conduits.AbstractConduit<D>
-
- org.xnio.conduits.AbstractSinkConduit<D>
-
- org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
-
- io.undertow.conduits.PreChunkedStreamSinkConduit
-
- All Implemented Interfaces:
org.xnio.conduits.Conduit,org.xnio.conduits.SinkConduit,org.xnio.conduits.StreamSinkConduit
public class PreChunkedStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>Channel that implements HTTP chunked transfer coding for data streams that already have chunk markers.- Author:
- Stuart Douglas
-
-
Constructor Summary
Constructors Constructor Description PreChunkedStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, ConduitListener<? super PreChunkedStreamSinkConduit> finishListener, Attachable attachable)Construct a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawaitWritable()voidawaitWritable(long time, TimeUnit timeUnit)booleanflush()voidterminateWrites()longtransferFrom(FileChannel src, long position, long count)longtransferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer)intwrite(ByteBuffer src)longwrite(ByteBuffer[] srcs, int offset, int length)intwriteFinal(ByteBuffer src)longwriteFinal(ByteBuffer[] srcs, int offset, int length)-
Methods inherited from class org.xnio.conduits.AbstractSinkConduit
getWriteThread, isWriteResumed, isWriteShutdown, resumeWrites, setWriteReadyHandler, suspendWrites, truncateWrites, wakeupWrites
-
-
-
-
Constructor Detail
-
PreChunkedStreamSinkConduit
public PreChunkedStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, ConduitListener<? super PreChunkedStreamSinkConduit> finishListener, Attachable attachable)Construct a new instance.- Parameters:
next- the channel to wrapfinishListener- The finish listenerattachable- The attachable
-
-
Method Detail
-
write
public int write(ByteBuffer src) throws IOException
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writein classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
write
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writein classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
writeFinal
public long writeFinal(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writeFinalin classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
writeFinal
public int writeFinal(ByteBuffer src) throws IOException
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writeFinalin classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
transferFrom
public long transferFrom(FileChannel src, long position, long count) throws IOException
- Specified by:
transferFromin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
transferFromin 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:
transferFromin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
transferFromin classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
flush
public boolean flush() throws IOException- Specified by:
flushin interfaceorg.xnio.conduits.SinkConduit- Overrides:
flushin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
terminateWrites
public void terminateWrites() throws IOException- Specified by:
terminateWritesin interfaceorg.xnio.conduits.SinkConduit- Overrides:
terminateWritesin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
awaitWritable
public void awaitWritable() throws IOException- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Overrides:
awaitWritablein classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
awaitWritable
public void awaitWritable(long time, TimeUnit timeUnit) throws IOException- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Overrides:
awaitWritablein classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
-