java.io.Closeable
, java.lang.AutoCloseable
, java.nio.channels.Channel
, java.nio.channels.InterruptibleChannel
, java.nio.channels.ReadableByteChannel
, java.nio.channels.ScatteringByteChannel
, org.xnio.channels.CloseableChannel
, org.xnio.channels.Configurable
, org.xnio.channels.StreamSourceChannel
, org.xnio.channels.SuspendableReadChannel
AbstractAjpClientStreamSourceChannel
, AbstractHttp2StreamSourceChannel
, StreamSourceFrameChannel
public abstract class AbstractFramedStreamSourceChannel<C extends AbstractFramedChannel<C,R,S>,R extends AbstractFramedStreamSourceChannel<C,R,S>,S extends AbstractFramedStreamSinkChannel<C,R,S>>
extends java.lang.Object
implements org.xnio.channels.StreamSourceChannel
Constructor | Description |
---|---|
AbstractFramedStreamSourceChannel(C framedChannel) |
|
AbstractFramedStreamSourceChannel(C framedChannel,
PooledByteBuffer data,
long frameDataRemaining) |
Modifier and Type | Method | Description |
---|---|---|
void |
addCloseTask(org.xnio.ChannelListener<R> channelListener) |
|
void |
awaitReadable() |
|
void |
awaitReadable(long l,
java.util.concurrent.TimeUnit timeUnit) |
|
protected void |
channelForciblyClosed() |
|
void |
close() |
|
protected void |
complete() |
Method that is invoked when all data has been read.
|
protected void |
dataReady(FrameHeaderData headerData,
PooledByteBuffer frameData) |
Called when data has been read from the underlying channel.
|
org.xnio.ChannelListener.Setter<? extends R> |
getCloseSetter() |
|
protected C |
getFramedChannel() |
|
org.xnio.XnioIoThread |
getIoThread() |
|
long |
getMaxStreamSize() |
|
<T> T |
getOption(org.xnio.Option<T> tOption) |
|
protected int |
getReadFrameCount() |
|
org.xnio.ChannelListener.Setter<? extends R> |
getReadSetter() |
|
org.xnio.XnioExecutor |
getReadThread() |
|
org.xnio.XnioWorker |
getWorker() |
|
protected void |
handleHeaderData(FrameHeaderData headerData) |
|
protected boolean |
isComplete() |
|
protected boolean |
isLastFrame() |
|
boolean |
isOpen() |
|
boolean |
isReadResumed() |
|
protected void |
lastFrame() |
|
protected void |
markStreamBroken() |
Called when this stream is no longer valid.
|
protected PooledByteBuffer |
processFrameData(PooledByteBuffer data,
boolean lastFragmentOfFrame) |
|
int |
read(java.nio.ByteBuffer dst) |
|
long |
read(java.nio.ByteBuffer[] dsts) |
|
long |
read(java.nio.ByteBuffer[] dsts,
int offset,
int length) |
|
void |
resumeReads() |
|
void |
setMaxStreamSize(long maxStreamSize) |
|
<T> T |
setOption(org.xnio.Option<T> tOption,
T t) |
|
void |
shutdownReads() |
|
boolean |
supportsOption(org.xnio.Option<?> option) |
|
void |
suspendReads() |
|
long |
transferTo(long position,
long count,
java.nio.channels.FileChannel target) |
|
long |
transferTo(long count,
java.nio.ByteBuffer throughBuffer,
org.xnio.channels.StreamSinkChannel streamSinkChannel) |
|
protected long |
updateFrameDataRemaining(PooledByteBuffer frameData,
long frameDataRemaining) |
|
void |
wakeupReads() |
public AbstractFramedStreamSourceChannel(C framedChannel)
public AbstractFramedStreamSourceChannel(C framedChannel, PooledByteBuffer data, long frameDataRemaining)
public long transferTo(long position, long count, java.nio.channels.FileChannel target) throws java.io.IOException
transferTo
in interface org.xnio.channels.StreamSourceChannel
java.io.IOException
public long transferTo(long count, java.nio.ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel streamSinkChannel) throws java.io.IOException
transferTo
in interface org.xnio.channels.StreamSourceChannel
java.io.IOException
public long getMaxStreamSize()
public void setMaxStreamSize(long maxStreamSize)
public void suspendReads()
suspendReads
in interface org.xnio.channels.SuspendableReadChannel
protected void complete() throws java.io.IOException
java.io.IOException
protected boolean isComplete()
public void resumeReads()
resumeReads
in interface org.xnio.channels.SuspendableReadChannel
public boolean isReadResumed()
isReadResumed
in interface org.xnio.channels.SuspendableReadChannel
public void wakeupReads()
wakeupReads
in interface org.xnio.channels.SuspendableReadChannel
public void addCloseTask(org.xnio.ChannelListener<R> channelListener)
public void shutdownReads() throws java.io.IOException
shutdownReads
in interface org.xnio.channels.SuspendableReadChannel
java.io.IOException
protected void lastFrame()
protected boolean isLastFrame()
public void awaitReadable() throws java.io.IOException
awaitReadable
in interface org.xnio.channels.SuspendableReadChannel
java.io.IOException
public void awaitReadable(long l, java.util.concurrent.TimeUnit timeUnit) throws java.io.IOException
awaitReadable
in interface org.xnio.channels.SuspendableReadChannel
java.io.IOException
protected void dataReady(FrameHeaderData headerData, PooledByteBuffer frameData)
headerData
- The frame header data. This may be null if the data is part of a an existing frameframeData
- The frame dataprotected long updateFrameDataRemaining(PooledByteBuffer frameData, long frameDataRemaining)
protected PooledByteBuffer processFrameData(PooledByteBuffer data, boolean lastFragmentOfFrame) throws java.io.IOException
java.io.IOException
protected void handleHeaderData(FrameHeaderData headerData)
public org.xnio.XnioExecutor getReadThread()
getReadThread
in interface org.xnio.channels.SuspendableReadChannel
public org.xnio.ChannelListener.Setter<? extends R> getReadSetter()
getReadSetter
in interface org.xnio.channels.StreamSourceChannel
getReadSetter
in interface org.xnio.channels.SuspendableReadChannel
public org.xnio.ChannelListener.Setter<? extends R> getCloseSetter()
getCloseSetter
in interface org.xnio.channels.CloseableChannel
getCloseSetter
in interface org.xnio.channels.StreamSourceChannel
getCloseSetter
in interface org.xnio.channels.SuspendableReadChannel
public org.xnio.XnioWorker getWorker()
getWorker
in interface org.xnio.channels.CloseableChannel
public org.xnio.XnioIoThread getIoThread()
getIoThread
in interface org.xnio.channels.CloseableChannel
public boolean supportsOption(org.xnio.Option<?> option)
supportsOption
in interface org.xnio.channels.Configurable
public <T> T getOption(org.xnio.Option<T> tOption) throws java.io.IOException
getOption
in interface org.xnio.channels.Configurable
java.io.IOException
public <T> T setOption(org.xnio.Option<T> tOption, T t) throws java.lang.IllegalArgumentException, java.io.IOException
setOption
in interface org.xnio.channels.Configurable
java.lang.IllegalArgumentException
java.io.IOException
public long read(java.nio.ByteBuffer[] dsts, int offset, int length) throws java.io.IOException
read
in interface java.nio.channels.ScatteringByteChannel
java.io.IOException
public long read(java.nio.ByteBuffer[] dsts) throws java.io.IOException
read
in interface java.nio.channels.ScatteringByteChannel
java.io.IOException
public int read(java.nio.ByteBuffer dst) throws java.io.IOException
read
in interface java.nio.channels.ReadableByteChannel
java.io.IOException
public boolean isOpen()
isOpen
in interface java.nio.channels.Channel
public void close()
close
in interface java.lang.AutoCloseable
close
in interface java.nio.channels.Channel
close
in interface java.io.Closeable
close
in interface org.xnio.channels.CloseableChannel
close
in interface java.nio.channels.InterruptibleChannel
protected void channelForciblyClosed()
protected C getFramedChannel()
protected int getReadFrameCount()
protected void markStreamBroken()
Copyright © 2018. All rights reserved.