java.io.Closeable
, java.lang.AutoCloseable
, java.nio.channels.Channel
, java.nio.channels.GatheringByteChannel
, java.nio.channels.InterruptibleChannel
, java.nio.channels.WritableByteChannel
, org.xnio.channels.CloseableChannel
, org.xnio.channels.Configurable
, org.xnio.channels.StreamSinkChannel
, org.xnio.channels.SuspendableWriteChannel
Http2DataStreamSinkChannel
, Http2SettingsStreamSinkChannel
public abstract class Http2StreamSinkChannel extends AbstractHttp2StreamSinkChannel
Modifier and Type | Method | Description |
---|---|---|
protected PooledByteBuffer[] |
allocateAll(PooledByteBuffer[] allHeaderBuffers,
PooledByteBuffer currentBuffer) |
|
protected void |
channelForciblyClosed() |
Called when a channel has been forcibly closed, and data (frames) have already been written.
|
protected SendFrameHeader |
createFrameHeader() |
|
protected abstract SendFrameHeader |
createFrameHeaderImpl() |
|
int |
getStreamId() |
|
protected int |
grabFlowControlBytes(int toSend) |
This method should be called before sending.
|
protected void |
handleFlushComplete(boolean channelClosed) |
awaitWritable, awaitWritable, close, flush, getBuffer, getChannel, getCloseSetter, getIoThread, getOption, getWorker, getWriteSetter, getWriteThread, isBroken, isBufferFull, isFinalFrameQueued, isFirstDataWritten, isFlushRequiredOnEmptyBuffer, isOpen, isReadyForFlush, isWriteResumed, isWritesShutdown, markBroken, preWriteTransform, resumeWrites, resumeWritesInternal, safeToSend, send, sendInternal, setOption, shutdownWrites, supportsOption, suspendWrites, transferFrom, transferFrom, wakeupWrites, write, write, write, writeFinal, writeFinal, writeFinal
isLastFrame
public int getStreamId()
protected abstract SendFrameHeader createFrameHeaderImpl()
protected void channelForciblyClosed() throws java.io.IOException
AbstractFramedStreamSinkChannel
channelForciblyClosed
in class AbstractFramedStreamSinkChannel<Http2Channel,AbstractHttp2StreamSourceChannel,AbstractHttp2StreamSinkChannel>
java.io.IOException
protected final SendFrameHeader createFrameHeader()
protected void handleFlushComplete(boolean channelClosed)
protected int grabFlowControlBytes(int toSend)
It will decrement the flow control windows by the amount that can be sent, so this method should only be called as a frame is being queued.
protected PooledByteBuffer[] allocateAll(PooledByteBuffer[] allHeaderBuffers, PooledByteBuffer currentBuffer)
Copyright © 2018. All rights reserved.