@UnstableApi public class Http2EventAdapter extends java.lang.Object implements Http2Connection.Listener, Http2FrameListener
Http2Connection.Listener和Http2FrameListener带到一起以提供NOOP实现,以便继承类可以选择性地选择要覆盖的方法。
| Constructor and Description |
|---|
Http2EventAdapter() |
| 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 |
onGoAwayReceived(int lastStreamId, long errorCode, ByteBuf debugData)
当从远程端点收到
GOAWAY时调用。
|
void |
onGoAwaySent(int lastStreamId, long errorCode, ByteBuf debugData)
当连接发送
GOAWAY帧时调用。
|
void |
onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int padding, boolean endStream)
处理入站
HEADERS帧。
|
void |
onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endStream)
处理带有指定优先级信息的入站
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 |
onStreamActive(Http2Stream stream)
通知监听器给定的流是活动的(即
|
void |
onStreamAdded(Http2Stream stream)
通知侦听器给定的流已添加到连接。
|
void |
onStreamClosed(Http2Stream stream)
通知聆听者该给定流现在在两个方向上都是
CLOSED ,并且将不再可以通过
Http2Connection.forEachActiveStream(Http2StreamVisitor)访问。
|
void |
onStreamHalfClosed(Http2Stream stream)
通知监听器给定的流已经从
OPEN转换为
HALF CLOSED 。
|
void |
onStreamRemoved(Http2Stream stream)
通知监听者,给定的数据流现在已经从连接中移除,不再通过
Http2Connection.stream(int)返回。
|
void |
onUnknownFrame(ChannelHandlerContext ctx, byte frameType, int streamId, Http2Flags flags, ByteBuf payload)
处理程序不是由HTTP / 2规范定义的。
|
void |
onWindowUpdateRead(ChannelHandlerContext ctx, int streamId, int windowSizeIncrement)
处理入站
WINDOW_UPDATE框架。
|
public int onDataRead(ChannelHandlerContext ctx, int streamId, ByteBuf data, int padding, boolean endOfStream) throws Http2Exception
Http2FrameListener复制的描述
DATA帧。
onDataRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
streamId - 框架的主题流。
data - 帧的有效载荷缓冲区。
该缓冲区将由编解码器释放。
padding - 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
endOfStream - 指示这是否是此流的远程端点发送的最后一帧。
WINDOW_UPDATE )。
返回等于data + padding长度的值将有效地选择退出此帧的应用程序级流量控制。
返回小于data + padding长度的值将推迟处理字节的返回,应用程序稍后必须通过Http2LocalFlowController.consumeBytes(Http2Stream, int)返回。
返回值必须> = 0 ,<= data.readableBytes() + padding 。
Http2Exception
public void onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int padding, boolean endStream) throws Http2Exception
Http2FrameListener
HEADERS框架。
对于每个HEADERS帧序列,只会调用以下方法之一。 当收到END_HEADERS标志时将会调用一个。
Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean) Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean) Http2FrameListener.onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int) 换一种说法; Http2Headers将包含当前消息交换步骤的所有标题(不需要额外的排队)。
onHeadersRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
streamId - 帧的主题流。
headers - 收到的标题。
padding - 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
endStream - 指示这是否是来自此流的远程端点的最后一个帧。
Http2Exception
public void onHeadersRead(ChannelHandlerContext ctx, int streamId, Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endStream) throws Http2Exception
Http2FrameListener
HEADERS帧。
只有在遇到END_HEADERS时END_HEADERS调用。
每个HEADERS帧序列只会调用以下方法之一。 当收到END_HEADERS标志时将会调用一个。
Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean) Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean) Http2FrameListener.onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int) 换一种说法; Http2Headers将包含当前消息交换步骤的所有标题(不需要额外的排队)。
onHeadersRead ,界面
Http2FrameListener
ctx - 读取框架的句柄的上下文。
streamId - 帧的主题流。
headers - 收到的标题。
streamDependency - 此流依赖的流,如果依赖于连接,则为0。
weight - 流的新权重。
exclusive - 流是否应该是其父项的排他依赖。
padding - 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
endStream - 指示这是否是来自此流的远程端点的最后一个帧。
Http2Exception
public void onPriorityRead(ChannelHandlerContext ctx, int streamId, int streamDependency, short weight, boolean exclusive) throws Http2Exception
Http2FrameListener
PRIORITY帧。
请注意,是有可能有这种方法称为无流对象存在任何streamId , streamDependency ,或两者兼而有之。 这是因为当流处于CLOSED状态时,可以发送/接收PRIORITY帧。
onPriorityRead接口
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
streamId - 帧的主题流。
streamDependency - 此流所依赖的流,如果依赖于连接,则为0。
weight - 流的新权重。
exclusive - 流是否应该是其父项的排他依赖项。
Http2Exception
public void onRstStreamRead(ChannelHandlerContext ctx, int streamId, long errorCode) throws Http2Exception
Http2FrameListener
RST_STREAM框架。
onRstStreamRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
streamId - 正在终止的流。
errorCode - 识别失败类型的错误代码。
Http2Exception
public void onSettingsAckRead(ChannelHandlerContext ctx) throws Http2Exception
Http2FrameListener复制的描述
SETTINGS确认帧。
onSettingsAckRead在界面
Http2FrameListener
ctx - 读取框架的句柄的上下文。
Http2Exception
public void onSettingsRead(ChannelHandlerContext ctx, Http2Settings settings) throws Http2Exception
Http2FrameListener
SETTINGS帧。
onSettingsRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
settings - 从远程端点接收的设置。
Http2Exception
public void onPingRead(ChannelHandlerContext ctx, long data) throws Http2Exception
Http2FrameListener
PING框架。
onPingRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
data - 帧的有效载荷。
Http2Exception
public void onPingAckRead(ChannelHandlerContext ctx, long data) throws Http2Exception
Http2FrameListener
PING确认。
onPingAckRead接口
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
data - 帧的有效载荷。
Http2Exception
public void onPushPromiseRead(ChannelHandlerContext ctx, int streamId, int promisedStreamId, Http2Headers headers, int padding) throws Http2Exception
Http2FrameListener
PUSH_PROMISE帧。
只有在遇到END_HEADERS时END_HEADERS调用。
承诺的请求必须是权威的,可缓存的和安全的。 见[RFC http2], Section 8.2 。
每个HEADERS帧序列只会调用以下方法之一。 当收到END_HEADERS标志时将会调用其中一个。
Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, boolean) Http2FrameListener.onHeadersRead(ChannelHandlerContext, int, Http2Headers, int, short, boolean, int, boolean) Http2FrameListener.onPushPromiseRead(ChannelHandlerContext, int, int, Http2Headers, int) 换一种说法; Http2Headers将包含当前消息交换步骤的所有标题(不需要额外的排队)。
onPushPromiseRead在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
streamId - 帧被发送的流。
promisedStreamId - 承诺流的ID。
headers - 收到的标题。
padding - 应添加的其他字节以掩盖真实的内容大小。
必须介于0和256(含)之间。
Http2Exception
public void onGoAwayRead(ChannelHandlerContext ctx, int lastStreamId, long errorCode, ByteBuf debugData) throws Http2Exception
Http2FrameListener
GO_AWAY帧。
onGoAwayRead ,界面
Http2FrameListener
ctx - 读取框架的句柄的上下文。
lastStreamId - 远程端点的最后一个已知流。
errorCode - 错误代码,如果异常关闭。
debugData - 应用程序定义的调试数据。
如果这个缓冲区需要被监听者保留,他们必须进行复制。
Http2Exception
public void onWindowUpdateRead(ChannelHandlerContext ctx, int streamId, int windowSizeIncrement) throws Http2Exception
Http2FrameListener
WINDOW_UPDATE帧。
onWindowUpdateRead在界面
Http2FrameListener
ctx - 读取框架的句柄的上下文。
streamId - 帧被发送的流。
windowSizeIncrement - 远程端点流量控制窗口的字节数增加。
Http2Exception
public void onUnknownFrame(ChannelHandlerContext ctx, byte frameType, int streamId, Http2Flags flags, ByteBuf payload) throws Http2Exception
Http2FrameListener
onUnknownFrame在界面
Http2FrameListener
ctx - 读取帧的处理程序的上下文。
frameType - 来自HTTP / 2头的帧类型。
streamId - 帧被发送的流。
flags -
flags的标志。
payload - 帧的有效载荷。
Http2Exception
public void onStreamAdded(Http2Stream stream)
Http2Connection.Listener
OPEN或HALF CLOSED )。
如果RuntimeException被抛出,它将被记录并且不被传播 。 不支持从此方法中抛出并被视为编程错误。
onStreamAdded接口
Http2Connection.Listener
public void onStreamActive(Http2Stream stream)
Http2Connection.Listener
OPEN或HALF CLOSED )。
如果RuntimeException被抛出,它将被记录并不被传播 。 不支持从此方法中抛出并被视为编程错误。
onStreamActive ,界面
Http2Connection.Listener
public void onStreamHalfClosed(Http2Stream stream)
Http2Connection.Listener
OPEN转换为HALF CLOSED 。
此方法将不被调用,直到状态转换从当发生Http2Connection.Listener.onStreamActive(Http2Stream)被调用。
该流可以被检查以确定哪一边是HALF CLOSED 。
如果RuntimeException被抛出,它将被记录并且不被传播 。 不支持从此方法中抛出并被视为编程错误。
onStreamHalfClosed在界面
Http2Connection.Listener
public void onStreamClosed(Http2Stream stream)
Http2Connection.Listener
CLOSED ,并将不再可以通过Http2Connection.forEachActiveStream(Http2StreamVisitor)访问。
如果RuntimeException被引发,它将被记录并且不被传播 。 不支持从此方法中抛出并被视为编程错误。
onStreamClosed在界面
Http2Connection.Listener
public void onStreamRemoved(Http2Stream stream)
Http2Connection.Listener
Http2Connection.stream(int)返回。
在删除它们之前,连接可能会保持一段时间不活动的流。
如果RuntimeException被抛出,它将被记录并且不被传播 。 不支持从此方法中抛出并被视为编程错误。
onStreamRemoved在界面
Http2Connection.Listener
public void onGoAwaySent(int lastStreamId,
long errorCode,
ByteBuf debugData)
Http2Connection.Listener
GOAWAY帧时调用。
如果RuntimeException被抛出,它将被记录并不被传播 。 不支持从此方法中抛出并被视为编程错误。
onGoAwaySent在界面
Http2Connection.Listener
lastStreamId - 远程端点的最后一个已知流。
errorCode - 错误代码,如果异常关闭。
debugData - 应用程序定义的调试数据。
public void onGoAwayReceived(int lastStreamId,
long errorCode,
ByteBuf debugData)
Http2Connection.Listener
GOAWAY时调用。
此事件处理程序重复Http2FrameListener.onGoAwayRead(io.netty.channel.ChannelHandlerContext, int, long, io.netty.buffer.ByteBuf),但在此处添加以简化以统一方式处理GOAWAY应用程序逻辑。
一个应用程序通常不应该处理这两个事件,但如果它的确如此,则在通知Http2FrameListener之后调用该方法。
如果RuntimeException被引发,它将被记录并且不被传播 。 不支持从此方法中抛出并被视为编程错误。
onGoAwayReceived ,界面
Http2Connection.Listener
lastStreamId - 远程端点的最后一个已知流。
errorCode - 错误代码,如果异常关闭。
debugData - 应用程序定义的调试数据。
Copyright © 2008–2018 The Netty Project. All rights reserved.