@UnstableApi
public interface Http2FrameListener
Modifier and Type | Method and Description |
---|---|
int |
onDataRead(ChannelHandlerContext ctx, int streamId, ByteBuf data, int padding, boolean endOfStream)
处理入站
DATA 帧。
|
void |
onGoAwayRead(ChannelHandlerContext ctx, int lastStreamId, long errorCode, ByteBuf debugData)
处理入站
GO_AWAY 框架。
|
void |
onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int padding, boolean endOfStream)
处理入站
HEADERS 框架。
|
void |
onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endOfStream)
处理带有指定优先级信息的入站
HEADERS 帧。
|
void |
onPingAckRead(ChannelHandlerContext ctx, long data)
处理入站
PING 确认。
|
void |
onPingRead(ChannelHandlerContext ctx, long data)
处理入站
PING 框架。
|
void |
onPriorityRead(ChannelHandlerContext ctx, int streamId, int streamDependency, short weight, boolean exclusive)
处理入站
PRIORITY 帧。
|
void |
onPushPromiseRead(ChannelHandlerContext ctx, int streamId, int promisedStreamId, Http2Headers headers, int padding)
处理入站
PUSH_PROMISE 框架。
|
void |
onRstStreamRead(ChannelHandlerContext ctx, int streamId, long errorCode)
处理入站
RST_STREAM 框架。
|
void |
onSettingsAckRead(ChannelHandlerContext ctx)
处理入站
SETTINGS 确认帧。
|
void |
onSettingsRead(ChannelHandlerContext ctx, Http2Settings settings)
处理入站
SETTINGS 框架。
|
void |
onUnknownFrame(ChannelHandlerContext ctx, byte frameType, int streamId, Http2Flags flags, ByteBuf payload)
处理程序不是由HTTP / 2规范定义的。
|
void |
onWindowUpdateRead(ChannelHandlerContext ctx, int streamId, int windowSizeIncrement)
处理入站
WINDOW_UPDATE 框架。
|
int onDataRead(ChannelHandlerContext ctx, int streamId, ByteBuf data, int padding, boolean endOfStream) throws Http2Exception
DATA
帧。
ctx
- 读取框架的句柄的上下文。
streamId
- 帧的主题流。
data
- 帧的有效载荷缓冲区。
该缓冲区将由编解码器释放。
padding
- 应添加的额外字节以遮盖真实的内容大小。
必须介于0和256(含)之间。
endOfStream
- 指示这是否是来自此流的远程端点的最后一个帧。
WINDOW_UPDATE
)。
返回等于data
+ padding
的值的值将有效地选择退出此帧的应用程序级流量控制。
返回小于data
+ padding
长度的值将推迟处理字节的返回,应用程序必须稍后通过Http2LocalFlowController.consumeBytes(Http2Stream, int)
返回。
返回的值必须> = 0
,<= data.readableBytes()
+ padding
。
Http2Exception
void onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int padding, boolean endOfStream) throws Http2Exception
HEADERS
帧。
对于每个HEADERS
帧序列,将只调用以下方法之一。 当收到END_HEADERS
标志时将会调用一个。
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean)
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean)
onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int)
换一种说法; Http2Headers
将包含当前消息交换步骤的所有标题(不需要额外的排队)。
ctx
- 读取框架的句柄的上下文。
streamId
- 帧的主题流。
headers
- 收到的标题。
padding
- 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
endOfStream
- 指示这是否是来自此流的远程端点的最后一个帧。
Http2Exception
void onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endOfStream) throws Http2Exception
HEADERS
帧。
只有在遇到END_HEADERS
时END_HEADERS
调用。
每个HEADERS
帧序列只会调用以下方法之一。 当收到END_HEADERS
标志时将会调用一个。
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean)
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean)
onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int)
换一种说法; Http2Headers
将包含当前消息交换步骤的所有标题(不需要额外的排队)。
ctx
- 读取框架的句柄的上下文。
streamId
- 帧的主题流。
headers
- 收到的标题。
streamDependency
- 此流依赖的流,如果依赖于连接,则为0。
weight
- 流的新权重。
exclusive
- 流是否应该是其父项的排他依赖项。
padding
- 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
endOfStream
- 指示这是否是来自此流的远程端点的最后一个帧。
Http2Exception
void onPriorityRead(ChannelHandlerContext ctx, int streamId, int streamDependency, short weight, boolean exclusive) throws Http2Exception
PRIORITY
帧。
请注意,是有可能有这种方法称为无流对象存在任何streamId
, streamDependency
,或两者兼而有之。 这是因为当流处于CLOSED
状态时,可以发送/接收PRIORITY
帧。
ctx
- 读取帧的处理程序的上下文。
streamId
- 框架的主题流。
streamDependency
- 此流依赖的流,如果依赖于连接,则为0。
weight
- 流的新权重。
exclusive
- 流是否应该是其父项的唯一依赖项。
Http2Exception
void onRstStreamRead(ChannelHandlerContext ctx, int streamId, long errorCode) throws Http2Exception
RST_STREAM
帧。
ctx
- 读取帧的处理程序的上下文。
streamId
- 正在终止的流。
errorCode
- 识别故障类型的错误代码。
Http2Exception
void onSettingsAckRead(ChannelHandlerContext ctx) throws Http2Exception
SETTINGS
确认帧。
ctx
- 读取框架的句柄的上下文。
Http2Exception
void onSettingsRead(ChannelHandlerContext ctx, Http2Settings settings) throws Http2Exception
SETTINGS
帧。
ctx
- 读取框架的句柄的上下文。
settings
- 从远程端点接收的设置。
Http2Exception
void onPingRead(ChannelHandlerContext ctx, long data) throws Http2Exception
PING
框架。
ctx
- 读取帧的处理程序的上下文。
data
- 帧的有效载荷。
Http2Exception
void onPingAckRead(ChannelHandlerContext ctx, long data) throws Http2Exception
PING
确认。
ctx
- 读取框架的处理程序的上下文。
data
- 帧的有效载荷。
Http2Exception
void onPushPromiseRead(ChannelHandlerContext ctx, int streamId, int promisedStreamId, Http2Headers headers, int padding) throws Http2Exception
PUSH_PROMISE
框架。
只有在遇到END_HEADERS
时才被调用。
承诺的请求必须是权威的,可缓存的和安全的。 见[RFC http2], Section 8.2 。
对于每个HEADERS
帧序列,将只调用以下方法之一。 当收到END_HEADERS
标志时将会调用一个。
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean)
onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean)
onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int)
换一种说法; Http2Headers
将包含当前消息交换步骤的所有标题(不需要额外的排队)。
ctx
- 读取框架的句柄的上下文。
streamId
- 帧被发送的流。
promisedStreamId
- 承诺流的ID。
headers
- 收到的标题。
padding
- 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
Http2Exception
void onGoAwayRead(ChannelHandlerContext ctx, int lastStreamId, long errorCode, ByteBuf debugData) throws Http2Exception
GO_AWAY
框架。
ctx
- 读取框架的句柄的上下文。
lastStreamId
- 远程端点的最后一个已知流。
errorCode
- 错误代码,如果异常关闭。
debugData
- 应用程序定义的调试数据。
如果这个缓冲区需要被监听者保留,他们必须进行复制。
Http2Exception
void onWindowUpdateRead(ChannelHandlerContext ctx, int streamId, int windowSizeIncrement) throws Http2Exception
WINDOW_UPDATE
框架。
ctx
- 读取框架的句柄的上下文。
streamId
- 帧的发送流。
windowSizeIncrement
- 远程端点流量控制窗口的字节数增加。
Http2Exception
void onUnknownFrame(ChannelHandlerContext ctx, byte frameType, int streamId, Http2Flags flags, ByteBuf payload) throws Http2Exception
ctx
- 读取框架的句柄的上下文。
frameType
- 来自HTTP / 2头的帧类型。
streamId
- 帧被发送的流。
flags
-
flags
的标志。
payload
- 帧的有效载荷。
Http2Exception
Copyright © 2008–2018 The Netty Project. All rights reserved.