Package io.undertow.channels
Class DetachableStreamSourceChannel
java.lang.Object
io.undertow.channels.DetachableStreamSourceChannel
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Channel
,InterruptibleChannel
,ReadableByteChannel
,ScatteringByteChannel
,org.xnio.channels.CloseableChannel
,org.xnio.channels.Configurable
,org.xnio.channels.StreamSourceChannel
,org.xnio.channels.SuspendableReadChannel
public abstract class DetachableStreamSourceChannel
extends Object
implements org.xnio.channels.StreamSourceChannel
A stream source channel that can be marked as detached. Once this is marked as detached then
calls will no longer be forwarded to the delegate.
- Author:
- Stuart Douglas
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.xnio.ChannelListener.SimpleSetter<DetachableStreamSourceChannel>
protected final org.xnio.channels.StreamSourceChannel
protected org.xnio.ChannelListener.SimpleSetter<DetachableStreamSourceChannel>
Fields inherited from interface org.xnio.channels.Configurable
EMPTY
-
Constructor Summary
ConstructorsConstructorDescriptionDetachableStreamSourceChannel
(org.xnio.channels.StreamSourceChannel delegate) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
awaitReadable
(long time, TimeUnit timeUnit) void
close()
org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel>
org.xnio.XnioIoThread
<T> T
getOption
(org.xnio.Option<T> option) org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel>
org.xnio.XnioExecutor
org.xnio.XnioWorker
protected abstract boolean
boolean
isOpen()
boolean
int
read
(ByteBuffer dst) long
read
(ByteBuffer[] dsts) long
read
(ByteBuffer[] dsts, int offset, int length) void
<T> T
setOption
(org.xnio.Option<T> option, T value) void
boolean
supportsOption
(org.xnio.Option<?> option) void
long
transferTo
(long position, long count, FileChannel target) long
transferTo
(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target) void
-
Field Details
-
delegate
protected final org.xnio.channels.StreamSourceChannel delegate -
readSetter
-
closeSetter
-
-
Constructor Details
-
DetachableStreamSourceChannel
public DetachableStreamSourceChannel(org.xnio.channels.StreamSourceChannel delegate)
-
-
Method Details
-
isFinished
protected abstract boolean isFinished() -
resumeReads
public void resumeReads()- Specified by:
resumeReads
in interfaceorg.xnio.channels.SuspendableReadChannel
-
transferTo
- Specified by:
transferTo
in interfaceorg.xnio.channels.StreamSourceChannel
- Throws:
IOException
-
awaitReadable
- Specified by:
awaitReadable
in interfaceorg.xnio.channels.SuspendableReadChannel
- Throws:
IOException
-
suspendReads
public void suspendReads()- Specified by:
suspendReads
in interfaceorg.xnio.channels.SuspendableReadChannel
-
transferTo
public long transferTo(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target) throws IOException - Specified by:
transferTo
in interfaceorg.xnio.channels.StreamSourceChannel
- Throws:
IOException
-
getWorker
public org.xnio.XnioWorker getWorker()- Specified by:
getWorker
in interfaceorg.xnio.channels.CloseableChannel
-
isReadResumed
public boolean isReadResumed()- Specified by:
isReadResumed
in interfaceorg.xnio.channels.SuspendableReadChannel
-
setOption
public <T> T setOption(org.xnio.Option<T> option, T value) throws IllegalArgumentException, IOException - Specified by:
setOption
in interfaceorg.xnio.channels.Configurable
- Throws:
IllegalArgumentException
IOException
-
supportsOption
public boolean supportsOption(org.xnio.Option<?> option) - Specified by:
supportsOption
in interfaceorg.xnio.channels.Configurable
-
shutdownReads
- Specified by:
shutdownReads
in interfaceorg.xnio.channels.SuspendableReadChannel
- Throws:
IOException
-
getReadSetter
public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel> getReadSetter()- Specified by:
getReadSetter
in interfaceorg.xnio.channels.StreamSourceChannel
- Specified by:
getReadSetter
in interfaceorg.xnio.channels.SuspendableReadChannel
-
isOpen
public boolean isOpen() -
read
- Specified by:
read
in interfaceScatteringByteChannel
- Throws:
IOException
-
read
- Specified by:
read
in interfaceScatteringByteChannel
- Throws:
IOException
-
wakeupReads
public void wakeupReads()- Specified by:
wakeupReads
in interfaceorg.xnio.channels.SuspendableReadChannel
-
getReadThread
public org.xnio.XnioExecutor getReadThread()- Specified by:
getReadThread
in interfaceorg.xnio.channels.SuspendableReadChannel
-
awaitReadable
- Specified by:
awaitReadable
in interfaceorg.xnio.channels.SuspendableReadChannel
- Throws:
IOException
-
getCloseSetter
public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel> getCloseSetter()- Specified by:
getCloseSetter
in interfaceorg.xnio.channels.CloseableChannel
- Specified by:
getCloseSetter
in interfaceorg.xnio.channels.StreamSourceChannel
- Specified by:
getCloseSetter
in interfaceorg.xnio.channels.SuspendableReadChannel
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceChannel
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceorg.xnio.channels.CloseableChannel
- Specified by:
close
in interfaceInterruptibleChannel
- Throws:
IOException
-
getOption
- Specified by:
getOption
in interfaceorg.xnio.channels.Configurable
- Throws:
IOException
-
read
- Specified by:
read
in interfaceReadableByteChannel
- Throws:
IOException
-
getIoThread
public org.xnio.XnioIoThread getIoThread()- Specified by:
getIoThread
in interfaceorg.xnio.channels.CloseableChannel
-