Ensure ChannelHandlerContext.attr(...) and ChannelHandlerContext.hasAttr(...) has no semantic change
Motivation: The ChannelHandlerContext.attr(...) and ChannelHandlerContext.hasAttr(...) delegated to Channel for the attributes which is a semantic change compared to 4.0 releases. We should not change the semantic to not break users applications when upgrading to 4.1.0 Modifications: - Revert semantic change - Mark ChannelHandlerContext.attr(...) and hasAttr(...) as @deprecated so we can remove these later Result: Semantic of attribute operations on ChannelHandlerContext is the same in 4.1 as in 4.0 again.
This commit is contained in:
parent
5ffa3b1c46
commit
690ab563e7
@ -16,15 +16,15 @@
|
||||
package io.netty.channel;
|
||||
|
||||
import io.netty.buffer.ByteBufAllocator;
|
||||
import io.netty.util.Attribute;
|
||||
import io.netty.util.AttributeKey;
|
||||
import io.netty.util.DefaultAttributeMap;
|
||||
import io.netty.util.ResourceLeakHint;
|
||||
import io.netty.util.concurrent.EventExecutor;
|
||||
import io.netty.util.internal.StringUtil;
|
||||
|
||||
import java.net.SocketAddress;
|
||||
|
||||
abstract class AbstractChannelHandlerContext implements ChannelHandlerContext, ResourceLeakHint {
|
||||
abstract class AbstractChannelHandlerContext extends DefaultAttributeMap
|
||||
implements ChannelHandlerContext, ResourceLeakHint {
|
||||
|
||||
volatile AbstractChannelHandlerContext next;
|
||||
volatile AbstractChannelHandlerContext prev;
|
||||
@ -87,16 +87,6 @@ abstract class AbstractChannelHandlerContext implements ChannelHandlerContext, R
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Attribute<T> attr(AttributeKey<T> key) {
|
||||
return channel().attr(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean hasAttr(AttributeKey<T> key) {
|
||||
return channel().hasAttr(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelHandlerContext fireChannelRegistered() {
|
||||
AbstractChannelHandlerContext next = findContextInbound();
|
||||
|
@ -17,6 +17,7 @@ package io.netty.channel;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.ByteBufAllocator;
|
||||
import io.netty.util.Attribute;
|
||||
import io.netty.util.AttributeKey;
|
||||
import io.netty.util.AttributeMap;
|
||||
import io.netty.util.concurrent.EventExecutor;
|
||||
@ -494,4 +495,18 @@ public interface ChannelHandlerContext extends AttributeMap {
|
||||
*/
|
||||
ChannelPromise voidPromise();
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link Channel#attr(AttributeKey)}
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
<T> Attribute<T> attr(AttributeKey<T> key);
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link Channel#hasAttr(AttributeKey)}
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
<T> boolean hasAttr(AttributeKey<T> key);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user