Package io.undertow.conduits
Class AbstractFixedLengthStreamSinkConduit
java.lang.Object
org.xnio.conduits.AbstractConduit<D>
org.xnio.conduits.AbstractSinkConduit<D>
org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
- All Implemented Interfaces:
org.xnio.conduits.Conduit,org.xnio.conduits.SinkConduit,org.xnio.conduits.StreamSinkConduit
- Direct Known Subclasses:
ServerFixedLengthStreamSinkConduit
public abstract class AbstractFixedLengthStreamSinkConduit
extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
A channel which writes a fixed amount of data. A listener is called once the data has been written.
- Author:
- David M. Lloyd
-
Field Summary
Fields inherited from class org.xnio.conduits.AbstractConduit
next -
Constructor Summary
ConstructorsConstructorDescriptionAbstractFixedLengthStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, long contentLength, boolean configurable, boolean propagateClose) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidawaitWritable(long time, TimeUnit timeUnit) protected voidbooleanflush()longGet the number of remaining bytes in this fixed length channel.booleanprotected voidreset(long contentLength, boolean propagateClose) voidlongtransferFrom(FileChannel src, long position, long count) longtransferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) voidvoidintwrite(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, isWriteShutdown, resumeWrites, setWriteReadyHandler, suspendWritesMethods inherited from class org.xnio.conduits.AbstractConduit
getWorkerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.xnio.conduits.Conduit
getWorkerMethods inherited from interface org.xnio.conduits.SinkConduit
getWriteThread, isWriteShutdown, resumeWrites, setWriteReadyHandler, suspendWrites
-
Constructor Details
-
AbstractFixedLengthStreamSinkConduit
public AbstractFixedLengthStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, long contentLength, boolean configurable, boolean propagateClose) Construct a new instance.- Parameters:
next- the next channelcontentLength- the content lengthconfigurable-trueif this instance should pass configuration to the nextpropagateClose-trueif this instance should pass close to the next
-
-
Method Details
-
reset
protected void reset(long contentLength, boolean propagateClose) -
write
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writein classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
write
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writein classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
writeFinal
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writeFinalin classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
writeFinal
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Overrides:
writeFinalin classorg.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
transferFrom
- 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
- Specified by:
flushin interfaceorg.xnio.conduits.SinkConduit- Overrides:
flushin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
isWriteResumed
public boolean isWriteResumed()- Specified by:
isWriteResumedin interfaceorg.xnio.conduits.SinkConduit- Overrides:
isWriteResumedin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
-
wakeupWrites
public void wakeupWrites()- Specified by:
wakeupWritesin interfaceorg.xnio.conduits.SinkConduit- Overrides:
wakeupWritesin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
-
terminateWrites
- Specified by:
terminateWritesin interfaceorg.xnio.conduits.SinkConduit- Overrides:
terminateWritesin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
truncateWrites
- Specified by:
truncateWritesin interfaceorg.xnio.conduits.SinkConduit- Overrides:
truncateWritesin classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Overrides:
awaitWritablein classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Overrides:
awaitWritablein classorg.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>- Throws:
IOException
-
getRemaining
public long getRemaining()Get the number of remaining bytes in this fixed length channel.- Returns:
- the number of remaining bytes
-
channelFinished
protected void channelFinished()
-