From e6c9ac968d3923080822dc36fe14aa10e38af15b Mon Sep 17 00:00:00 2001 From: Dmitriy Dumanskiy Date: Wed, 17 Jan 2018 13:08:38 +0200 Subject: [PATCH] Cleanup: replaced deprecated ctx.attr() and ctx.hasAttr() methods usage with ch.attr() and ch.hasAttr(). Motivation: Will allow easy removal of deprecated methods in future. Modification: Replaced ctx.attr(), ctx.hasAttr() with ctx.channel().attr(), ctx.channel().hasAttr(). Result: No deprecated ctx.attr(), ctx.hasAttr() methods usage. --- .../ContextBoundUnmarshallerProvider.java | 2 +- .../AbstractTrafficShapingHandler.java | 24 +++++++++++-------- .../GlobalChannelTrafficShapingHandler.java | 7 +++--- .../channel/CombinedChannelDuplexHandler.java | 4 ++-- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/codec/src/main/java/io/netty/handler/codec/marshalling/ContextBoundUnmarshallerProvider.java b/codec/src/main/java/io/netty/handler/codec/marshalling/ContextBoundUnmarshallerProvider.java index 1be65630cc..fb391cd4fd 100644 --- a/codec/src/main/java/io/netty/handler/codec/marshalling/ContextBoundUnmarshallerProvider.java +++ b/codec/src/main/java/io/netty/handler/codec/marshalling/ContextBoundUnmarshallerProvider.java @@ -43,7 +43,7 @@ public class ContextBoundUnmarshallerProvider extends DefaultUnmarshallerProvide @Override public Unmarshaller getUnmarshaller(ChannelHandlerContext ctx) throws Exception { - Attribute attr = ctx.attr(UNMARSHALLER); + Attribute attr = ctx.channel().attr(UNMARSHALLER); Unmarshaller unmarshaller = attr.get(); if (unmarshaller == null) { unmarshaller = super.getUnmarshaller(ctx); diff --git a/handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java b/handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java index 14356fbbde..caeb767fcf 100644 --- a/handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java +++ b/handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java @@ -17,6 +17,7 @@ package io.netty.handler.traffic; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufHolder; +import io.netty.channel.Channel; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelConfig; import io.netty.channel.ChannelHandlerContext; @@ -426,7 +427,8 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler @Override public void run() { - ChannelConfig config = ctx.channel().config(); + Channel channel = ctx.channel(); + ChannelConfig config = channel.config(); if (!config.isAutoRead() && isHandlerActive(ctx)) { // If AutoRead is False and Active is True, user make a direct setAutoRead(false) // Then Just reset the status @@ -434,7 +436,7 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler logger.debug("Not unsuspend: " + config.isAutoRead() + ':' + isHandlerActive(ctx)); } - ctx.attr(READ_SUSPENDED).set(false); + channel.attr(READ_SUSPENDED).set(false); } else { // Anything else allows the handler to reset the AutoRead if (logger.isDebugEnabled()) { @@ -446,9 +448,9 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler + isHandlerActive(ctx)); } } - ctx.attr(READ_SUSPENDED).set(false); + channel.attr(READ_SUSPENDED).set(false); config.setAutoRead(true); - ctx.channel().read(); + channel.read(); } if (logger.isDebugEnabled()) { logger.debug("Unsuspend final status => " + config.isAutoRead() + ':' @@ -461,8 +463,9 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler * Release the Read suspension */ void releaseReadSuspended(ChannelHandlerContext ctx) { - ctx.attr(READ_SUSPENDED).set(false); - ctx.channel().config().setAutoRead(true); + Channel channel = ctx.channel(); + channel.attr(READ_SUSPENDED).set(false); + channel.config().setAutoRead(true); } @Override @@ -476,17 +479,18 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler if (wait >= MINIMAL_WAIT) { // At least 10ms seems a minimal // time in order to try to limit the traffic // Only AutoRead AND HandlerActive True means Context Active - ChannelConfig config = ctx.channel().config(); + Channel channel = ctx.channel(); + ChannelConfig config = channel.config(); if (logger.isDebugEnabled()) { logger.debug("Read suspend: " + wait + ':' + config.isAutoRead() + ':' + isHandlerActive(ctx)); } if (config.isAutoRead() && isHandlerActive(ctx)) { config.setAutoRead(false); - ctx.attr(READ_SUSPENDED).set(true); + channel.attr(READ_SUSPENDED).set(true); // Create a Runnable to reactive the read if needed. If one was create before it will just be // reused to limit object creation - Attribute attr = ctx.attr(REOPEN_TASK); + Attribute attr = channel.attr(REOPEN_TASK); Runnable reopenTask = attr.get(); if (reopenTask == null) { reopenTask = new ReopenReadTimerTask(ctx); @@ -524,7 +528,7 @@ public abstract class AbstractTrafficShapingHandler extends ChannelDuplexHandler } protected static boolean isHandlerActive(ChannelHandlerContext ctx) { - Boolean suspended = ctx.attr(READ_SUSPENDED).get(); + Boolean suspended = ctx.channel().attr(READ_SUSPENDED).get(); return suspended == null || Boolean.FALSE.equals(suspended); } diff --git a/handler/src/main/java/io/netty/handler/traffic/GlobalChannelTrafficShapingHandler.java b/handler/src/main/java/io/netty/handler/traffic/GlobalChannelTrafficShapingHandler.java index e95ea826c4..02b1697d86 100644 --- a/handler/src/main/java/io/netty/handler/traffic/GlobalChannelTrafficShapingHandler.java +++ b/handler/src/main/java/io/netty/handler/traffic/GlobalChannelTrafficShapingHandler.java @@ -547,17 +547,18 @@ public class GlobalChannelTrafficShapingHandler extends AbstractTrafficShapingHa if (wait >= MINIMAL_WAIT) { // At least 10ms seems a minimal // time in order to try to limit the traffic // Only AutoRead AND HandlerActive True means Context Active - ChannelConfig config = ctx.channel().config(); + Channel channel = ctx.channel(); + ChannelConfig config = channel.config(); if (logger.isDebugEnabled()) { logger.debug("Read Suspend: " + wait + ':' + config.isAutoRead() + ':' + isHandlerActive(ctx)); } if (config.isAutoRead() && isHandlerActive(ctx)) { config.setAutoRead(false); - ctx.attr(READ_SUSPENDED).set(true); + channel.attr(READ_SUSPENDED).set(true); // Create a Runnable to reactive the read if needed. If one was create before it will just be // reused to limit object creation - Attribute attr = ctx.attr(REOPEN_TASK); + Attribute attr = channel.attr(REOPEN_TASK); Runnable reopenTask = attr.get(); if (reopenTask == null) { reopenTask = new ReopenReadTimerTask(ctx); diff --git a/transport/src/main/java/io/netty/channel/CombinedChannelDuplexHandler.java b/transport/src/main/java/io/netty/channel/CombinedChannelDuplexHandler.java index 5cb52668d7..b24ccab4e0 100644 --- a/transport/src/main/java/io/netty/channel/CombinedChannelDuplexHandler.java +++ b/transport/src/main/java/io/netty/channel/CombinedChannelDuplexHandler.java @@ -581,12 +581,12 @@ public class CombinedChannelDuplexHandler Attribute attr(AttributeKey key) { - return ctx.attr(key); + return ctx.channel().attr(key); } @Override public boolean hasAttr(AttributeKey key) { - return ctx.hasAttr(key); + return ctx.channel().hasAttr(key); } final void remove() {