Package io.undertow.protocols.http2
Class Http2StreamSourceChannel
- java.lang.Object
-
- io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
-
- io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
-
- io.undertow.protocols.http2.Http2StreamSourceChannel
-
- All Implemented Interfaces:
Http2Stream
,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
public class Http2StreamSourceChannel extends AbstractHttp2StreamSourceChannel implements Http2Stream
- Author:
- Stuart Douglas
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Http2StreamSourceChannel.TrailersHandler
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
channelForciblyClosed()
protected void
complete()
Method that is invoked when all data has been read.org.xnio.ChannelListener<Http2StreamSourceChannel>
getCompletionListener()
HeaderMap
getHeaders()
Http2HeadersStreamSinkChannel
getResponseChannel()
int
getStreamId()
Http2StreamSourceChannel.TrailersHandler
getTrailersHandler()
protected void
handleHeaderData(FrameHeaderData headerData)
boolean
isIgnoreForceClose()
int
read(java.nio.ByteBuffer dst)
long
read(java.nio.ByteBuffer[] dsts)
long
read(java.nio.ByteBuffer[] dsts, int offset, int length)
void
setCompletionListener(org.xnio.ChannelListener<Http2StreamSourceChannel> completionListener)
void
setIgnoreForceClose(boolean ignoreForceClose)
void
setTrailersHandler(Http2StreamSourceChannel.TrailersHandler trailersHandler)
java.lang.String
toString()
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 data, long frameDataRemaining)
-
Methods inherited from class io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
getFramedChannel, getHttp2Channel, lastFrame, markStreamBroken
-
Methods inherited from class io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
addCloseTask, awaitReadable, awaitReadable, close, dataReady, getCloseSetter, getIoThread, getMaxStreamSize, getOption, getReadFrameCount, getReadSetter, getReadThread, getWorker, isComplete, isLastFrame, isOpen, isReadResumed, processFrameData, resumeReads, setMaxStreamSize, setOption, shutdownReads, supportsOption, suspendReads, wakeupReads
-
-
-
-
Method Detail
-
handleHeaderData
protected void handleHeaderData(FrameHeaderData headerData)
- Overrides:
handleHeaderData
in classAbstractHttp2StreamSourceChannel
-
updateFrameDataRemaining
protected long updateFrameDataRemaining(PooledByteBuffer data, long frameDataRemaining)
-
getResponseChannel
public Http2HeadersStreamSinkChannel getResponseChannel()
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOException
- Specified by:
read
in interfacejava.nio.channels.ReadableByteChannel
- Overrides:
read
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
read
public long read(java.nio.ByteBuffer[] dsts, int offset, int length) throws java.io.IOException
- Specified by:
read
in interfacejava.nio.channels.ScatteringByteChannel
- Overrides:
read
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
read
public long read(java.nio.ByteBuffer[] dsts) throws java.io.IOException
- Specified by:
read
in interfacejava.nio.channels.ScatteringByteChannel
- Overrides:
read
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
transferTo
public long transferTo(long count, java.nio.ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel streamSinkChannel) throws java.io.IOException
- Specified by:
transferTo
in interfaceorg.xnio.channels.StreamSourceChannel
- Overrides:
transferTo
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
transferTo
public long transferTo(long position, long count, java.nio.channels.FileChannel target) throws java.io.IOException
- Specified by:
transferTo
in interfaceorg.xnio.channels.StreamSourceChannel
- Overrides:
transferTo
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
complete
protected void complete() throws java.io.IOException
Description copied from class:AbstractFramedStreamSourceChannel
Method that is invoked when all data has been read.- Overrides:
complete
in classAbstractFramedStreamSourceChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
- Throws:
java.io.IOException
-
getHeaders
public HeaderMap getHeaders()
-
getCompletionListener
public org.xnio.ChannelListener<Http2StreamSourceChannel> getCompletionListener()
-
setCompletionListener
public void setCompletionListener(org.xnio.ChannelListener<Http2StreamSourceChannel> completionListener)
-
channelForciblyClosed
protected void channelForciblyClosed()
-
setIgnoreForceClose
public void setIgnoreForceClose(boolean ignoreForceClose)
-
isIgnoreForceClose
public boolean isIgnoreForceClose()
-
getStreamId
public int getStreamId()
- Specified by:
getStreamId
in interfaceHttp2Stream
-
getTrailersHandler
public Http2StreamSourceChannel.TrailersHandler getTrailersHandler()
-
setTrailersHandler
public void setTrailersHandler(Http2StreamSourceChannel.TrailersHandler trailersHandler)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-