Вот (постоянная) ссылка на пример в дикой природе вопроса, о котором у меня есть вопрос, взятый из собственных примеров Нетти.Рассматриваемый пример сам по себе не важен, просто тот факт, что он показывает шаблон, который мне интересен:
https://github.com/netty/netty/blob/b26a61acd1bde5b6fca21026cd9123a38f277ad6/example/src/main/java/io/netty/example/http2/helloworld/multiplex/server/Http2ServerInitializer.java#L97-L103
Ниже я извлек его:
@Override
protected void channelRead0(ChannelHandlerContext ctx, HttpMessage msg) throws Exception {
ChannelPipeline pipeline = ctx.pipeline();
ChannelHandlerContext thisCtx = pipeline.context(this);
/* ... */
Здесь у нас есть ChannelInboundAdapter
, которому передается ChannelHandlerContext
.Хорошо.
Первые две строки метода, которые я здесь извлек, прыгают через некоторые обручи, чтобы получить «правильный» ChannelHandlerContext
, подразумевая (во всяком случае, для меня), что ChannelHandlerContext
, чтоЭтот метод как-то не относится к этому ChannelHandler
.
При каких обстоятельствах требуется такой прыжок с обручем?