Package io.undertow.channels
Class DetachableStreamSinkChannel
java.lang.Object
io.undertow.channels.DetachableStreamSinkChannel
- All Implemented Interfaces:
Closeable,AutoCloseable,Channel,GatheringByteChannel,InterruptibleChannel,WritableByteChannel,org.xnio.channels.CloseableChannel,org.xnio.channels.Configurable,org.xnio.channels.StreamSinkChannel,org.xnio.channels.SuspendableWriteChannel
public abstract class DetachableStreamSinkChannel
extends Object
implements org.xnio.channels.StreamSinkChannel
Stream sink channel. When this channel is considered detached it will no longer forward
calls to the delegate
- Author:
- Stuart Douglas
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.xnio.ChannelListener.SimpleSetter<DetachableStreamSinkChannel>protected final org.xnio.channels.StreamSinkChannelprotected org.xnio.ChannelListener.SimpleSetter<DetachableStreamSinkChannel>Fields inherited from interface org.xnio.channels.Configurable
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidawaitWritable(long time, TimeUnit timeUnit) voidclose()booleanflush()org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSinkChannel>org.xnio.XnioIoThread<T> TgetOption(org.xnio.Option<T> option) org.xnio.XnioWorkerorg.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSinkChannel>org.xnio.XnioExecutorprotected abstract booleanbooleanisOpen()booleanvoidvoid<T> TsetOption(org.xnio.Option<T> option, T value) voidbooleansupportsOption(org.xnio.Option<?> option) voidlongtransferFrom(FileChannel src, long position, long count) longtransferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) voidintwrite(ByteBuffer src) longwrite(ByteBuffer[] srcs) longwrite(ByteBuffer[] srcs, int offset, int length) intwriteFinal(ByteBuffer src) longwriteFinal(ByteBuffer[] srcs) longwriteFinal(ByteBuffer[] srcs, int offset, int length)
-
Field Details
-
delegate
protected final org.xnio.channels.StreamSinkChannel delegate -
writeSetter
-
closeSetter
-
-
Constructor Details
-
DetachableStreamSinkChannel
public DetachableStreamSinkChannel(org.xnio.channels.StreamSinkChannel delegate)
-
-
Method Details
-
isFinished
protected abstract boolean isFinished() -
suspendWrites
public void suspendWrites()- Specified by:
suspendWritesin interfaceorg.xnio.channels.SuspendableWriteChannel
-
isWriteResumed
public boolean isWriteResumed()- Specified by:
isWriteResumedin interfaceorg.xnio.channels.SuspendableWriteChannel
-
shutdownWrites
- Specified by:
shutdownWritesin interfaceorg.xnio.channels.SuspendableWriteChannel- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritablein interfaceorg.xnio.channels.SuspendableWriteChannel- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritablein interfaceorg.xnio.channels.SuspendableWriteChannel- Throws:
IOException
-
getWriteThread
public org.xnio.XnioExecutor getWriteThread()- Specified by:
getWriteThreadin interfaceorg.xnio.channels.SuspendableWriteChannel
-
isOpen
public boolean isOpen() -
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceChannel- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.xnio.channels.CloseableChannel- Specified by:
closein interfaceInterruptibleChannel- Specified by:
closein interfaceorg.xnio.channels.SuspendableWriteChannel- Throws:
IOException
-
flush
- Specified by:
flushin interfaceorg.xnio.channels.SuspendableWriteChannel- Throws:
IOException
-
transferFrom
- Specified by:
transferFromin interfaceorg.xnio.channels.StreamSinkChannel- Throws:
IOException
-
transferFrom
public long transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) throws IOException - Specified by:
transferFromin interfaceorg.xnio.channels.StreamSinkChannel- Throws:
IOException
-
getWriteSetter
public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSinkChannel> getWriteSetter()- Specified by:
getWriteSetterin interfaceorg.xnio.channels.StreamSinkChannel- Specified by:
getWriteSetterin interfaceorg.xnio.channels.SuspendableWriteChannel
-
getCloseSetter
public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSinkChannel> getCloseSetter()- Specified by:
getCloseSetterin interfaceorg.xnio.channels.CloseableChannel- Specified by:
getCloseSetterin interfaceorg.xnio.channels.StreamSinkChannel- Specified by:
getCloseSetterin interfaceorg.xnio.channels.SuspendableWriteChannel
-
getWorker
public org.xnio.XnioWorker getWorker()- Specified by:
getWorkerin interfaceorg.xnio.channels.CloseableChannel
-
getIoThread
public org.xnio.XnioIoThread getIoThread()- Specified by:
getIoThreadin interfaceorg.xnio.channels.CloseableChannel
-
write
- Specified by:
writein interfaceGatheringByteChannel- Throws:
IOException
-
write
- Specified by:
writein interfaceGatheringByteChannel- Throws:
IOException
-
writeFinal
- Specified by:
writeFinalin interfaceorg.xnio.channels.StreamSinkChannel- Throws:
IOException
-
writeFinal
- Specified by:
writeFinalin interfaceorg.xnio.channels.StreamSinkChannel- Throws:
IOException
-
writeFinal
- Specified by:
writeFinalin interfaceorg.xnio.channels.StreamSinkChannel- Throws:
IOException
-
supportsOption
public boolean supportsOption(org.xnio.Option<?> option) - Specified by:
supportsOptionin interfaceorg.xnio.channels.Configurable
-
getOption
- Specified by:
getOptionin interfaceorg.xnio.channels.Configurable- Throws:
IOException
-
setOption
public <T> T setOption(org.xnio.Option<T> option, T value) throws IllegalArgumentException, IOException - Specified by:
setOptionin interfaceorg.xnio.channels.Configurable- Throws:
IllegalArgumentExceptionIOException
-
write
- Specified by:
writein interfaceWritableByteChannel- Throws:
IOException
-
resumeWrites
public void resumeWrites()- Specified by:
resumeWritesin interfaceorg.xnio.channels.SuspendableWriteChannel
-
wakeupWrites
public void wakeupWrites()- Specified by:
wakeupWritesin interfaceorg.xnio.channels.SuspendableWriteChannel
-
responseDone
public void responseDone()
-