@UnstableApi public interface Http2FrameWriter extends Http2DataWriter, Closeable
ChannelHandlerContext.flush()
.Modifier and Type | Interface and Description |
---|---|
static interface |
Http2FrameWriter.Configuration
Configuration specific to
Http2FrameWriter |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this writer and frees any allocated resources.
|
Http2FrameWriter.Configuration |
configuration()
Get the configuration related elements for this
Http2FrameWriter |
ChannelFuture |
writeFrame(ChannelHandlerContext ctx,
byte frameType,
int streamId,
Http2Flags flags,
ByteBuf payload,
ChannelPromise promise)
Generic write method for any HTTP/2 frame.
|
ChannelFuture |
writeGoAway(ChannelHandlerContext ctx,
int lastStreamId,
long errorCode,
ByteBuf debugData,
ChannelPromise promise)
Writes a GO_AWAY frame to the remote endpoint.
|
ChannelFuture |
writeHeaders(ChannelHandlerContext ctx,
int streamId,
Http2Headers headers,
int padding,
boolean endStream,
ChannelPromise promise)
Writes a HEADERS frame to the remote endpoint.
|
ChannelFuture |
writeHeaders(ChannelHandlerContext ctx,
int streamId,
Http2Headers headers,
int streamDependency,
short weight,
boolean exclusive,
int padding,
boolean endStream,
ChannelPromise promise)
Writes a HEADERS frame with priority specified to the remote endpoint.
|
ChannelFuture |
writePing(ChannelHandlerContext ctx,
boolean ack,
ByteBuf data,
ChannelPromise promise)
Writes a PING frame to the remote endpoint.
|
ChannelFuture |
writePriority(ChannelHandlerContext ctx,
int streamId,
int streamDependency,
short weight,
boolean exclusive,
ChannelPromise promise)
Writes a PRIORITY frame to the remote endpoint.
|
ChannelFuture |
writePushPromise(ChannelHandlerContext ctx,
int streamId,
int promisedStreamId,
Http2Headers headers,
int padding,
ChannelPromise promise)
Writes a PUSH_PROMISE frame to the remote endpoint.
|
ChannelFuture |
writeRstStream(ChannelHandlerContext ctx,
int streamId,
long errorCode,
ChannelPromise promise)
Writes a RST_STREAM frame to the remote endpoint.
|
ChannelFuture |
writeSettings(ChannelHandlerContext ctx,
Http2Settings settings,
ChannelPromise promise)
Writes a SETTINGS frame to the remote endpoint.
|
ChannelFuture |
writeSettingsAck(ChannelHandlerContext ctx,
ChannelPromise promise)
Writes a SETTINGS acknowledgment to the remote endpoint.
|
ChannelFuture |
writeWindowUpdate(ChannelHandlerContext ctx,
int streamId,
int windowSizeIncrement,
ChannelPromise promise)
Writes a WINDOW_UPDATE frame to the remote endpoint.
|
writeData
ChannelFuture writeHeaders(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int padding, boolean endStream, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.headers
- the headers to be sent.padding
- additional bytes that should be added to obscure the true content size. Must be between 0 and
256 (inclusive).endStream
- indicates if this is the last frame to be sent for the stream.promise
- the promise for the write.The header block MUST be processed to ensure a consistent connection state, unless the connection is closed.If this call has modified the HPACK header state you MUST throw a connection error.
If this call has NOT modified the HPACK header state you are free to throw a stream error.
ChannelFuture writeHeaders(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endStream, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.headers
- the headers to be sent.streamDependency
- the stream on which this stream should depend, or 0 if it should
depend on the connection.weight
- the weight for this stream.exclusive
- whether this stream should be the exclusive dependant of its parent.padding
- additional bytes that should be added to obscure the true content size. Must be between 0 and
256 (inclusive).endStream
- indicates if this is the last frame to be sent for the stream.promise
- the promise for the write.The header block MUST be processed to ensure a consistent connection state, unless the connection is closed.If this call has modified the HPACK header state you MUST throw a connection error.
If this call has NOT modified the HPACK header state you are free to throw a stream error.
ChannelFuture writePriority(ChannelHandlerContext ctx, int streamId, int streamDependency, short weight, boolean exclusive, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.streamDependency
- the stream on which this stream should depend, or 0 if it should
depend on the connection.weight
- the weight for this stream.exclusive
- whether this stream should be the exclusive dependant of its parent.promise
- the promise for the write.ChannelFuture writeRstStream(ChannelHandlerContext ctx, int streamId, long errorCode, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.errorCode
- the error code indicating the nature of the failure.promise
- the promise for the write.ChannelFuture writeSettings(ChannelHandlerContext ctx, Http2Settings settings, ChannelPromise promise)
ctx
- the context to use for writing.settings
- the settings to be sent.promise
- the promise for the write.ChannelFuture writeSettingsAck(ChannelHandlerContext ctx, ChannelPromise promise)
ctx
- the context to use for writing.promise
- the promise for the write.ChannelFuture writePing(ChannelHandlerContext ctx, boolean ack, ByteBuf data, ChannelPromise promise)
ctx
- the context to use for writing.ack
- indicates whether this is an ack of a PING frame previously received from the
remote endpoint.data
- the payload of the frame. This will be released by this method.promise
- the promise for the write.ChannelFuture writePushPromise(ChannelHandlerContext ctx, int streamId, int promisedStreamId, Http2Headers headers, int padding, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.promisedStreamId
- the ID of the promised stream.headers
- the headers to be sent.padding
- additional bytes that should be added to obscure the true content size. Must be between 0 and
256 (inclusive).promise
- the promise for the write.The header block MUST be processed to ensure a consistent connection state, unless the connection is closed.If this call has modified the HPACK header state you MUST throw a connection error.
If this call has NOT modified the HPACK header state you are free to throw a stream error.
ChannelFuture writeGoAway(ChannelHandlerContext ctx, int lastStreamId, long errorCode, ByteBuf debugData, ChannelPromise promise)
ctx
- the context to use for writing.lastStreamId
- the last known stream of this endpoint.errorCode
- the error code, if the connection was abnormally terminated.debugData
- application-defined debug data. This will be released by this method.promise
- the promise for the write.ChannelFuture writeWindowUpdate(ChannelHandlerContext ctx, int streamId, int windowSizeIncrement, ChannelPromise promise)
ctx
- the context to use for writing.streamId
- the stream for which to send the frame.windowSizeIncrement
- the number of bytes by which the local inbound flow control window
is increasing.promise
- the promise for the write.ChannelFuture writeFrame(ChannelHandlerContext ctx, byte frameType, int streamId, Http2Flags flags, ByteBuf payload, ChannelPromise promise)
ctx
- the context to use for writing.frameType
- the frame type identifier.streamId
- the stream for which to send the frame.flags
- the flags to write for this frame.payload
- the payload to write for this frame. This will be released by this method.promise
- the promise for the write.Http2FrameWriter.Configuration configuration()
Http2FrameWriter
void close()
close
in interface AutoCloseable
close
in interface Closeable
Copyright © 2008–2017 The Netty Project. All rights reserved.