From 21fb48e4d22b5d030b165200e663c11f545f5576 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Sun, 5 Sep 2021 20:05:15 +0200 Subject: [PATCH] Deprecate UnaryPromiseNotifier (#11653) Motivation: Users should use PromiseNotifier.cascade(...) methods and so the UnaryPromiseNotifier becomes useless. Modifications: - Mark UnaryPromiseNotifier as deprecated - Replaces usages with PromiseNotifier.cascade(...) Result: Cleanup --- .../netty/handler/codec/http2/DefaultHttp2Connection.java | 4 ++-- .../java/io/netty/util/concurrent/UnaryPromiseNotifier.java | 5 +++++ .../src/test/java/io/netty/handler/ssl/SSLEngineTest.java | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java b/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java index dd9680e6533..90b23ae1d27 100644 --- a/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java +++ b/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java @@ -24,7 +24,7 @@ import io.netty.util.collection.IntObjectMap.PrimitiveEntry; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.Promise; -import io.netty.util.concurrent.UnaryPromiseNotifier; +import io.netty.util.concurrent.PromiseNotifier; import io.netty.util.internal.EmptyArrays; import io.netty.util.internal.UnstableApi; import io.netty.util.internal.logging.InternalLogger; @@ -128,7 +128,7 @@ public Future close(final Promise promise) { } else if (promise instanceof ChannelPromise && ((ChannelFuture) closePromise).isVoid()) { closePromise = promise; } else { - closePromise.addListener(new UnaryPromiseNotifier(promise)); + PromiseNotifier.cascade(closePromise, promise); } } else { closePromise = promise; diff --git a/common/src/main/java/io/netty/util/concurrent/UnaryPromiseNotifier.java b/common/src/main/java/io/netty/util/concurrent/UnaryPromiseNotifier.java index 1feadc82e4a..62c231c6698 100644 --- a/common/src/main/java/io/netty/util/concurrent/UnaryPromiseNotifier.java +++ b/common/src/main/java/io/netty/util/concurrent/UnaryPromiseNotifier.java @@ -19,6 +19,11 @@ import io.netty.util.internal.logging.InternalLogger; import io.netty.util.internal.logging.InternalLoggerFactory; +/** + * + * @deprecated use {@link PromiseNotifier#cascade(boolean, Future, Promise)}. + */ +@Deprecated public final class UnaryPromiseNotifier implements FutureListener { private static final InternalLogger logger = InternalLoggerFactory.getInstance(UnaryPromiseNotifier.class); private final Promise promise; diff --git a/handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java b/handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java index a6fa867697d..1709df1cd5b 100644 --- a/handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java +++ b/handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java @@ -41,7 +41,7 @@ import io.netty.util.NetUtil; import io.netty.util.ReferenceCountUtil; import io.netty.util.concurrent.ImmediateEventExecutor; -import io.netty.util.concurrent.UnaryPromiseNotifier; +import io.netty.util.concurrent.PromiseNotifier; import io.netty.util.internal.ResourcesUtil; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.Promise; @@ -1053,8 +1053,8 @@ public void handlerAdded(ChannelHandlerContext ctx) { // through we just want to verify the local failure condition. This way we don't have to worry // about verifying the payload and releasing the content on the server side. if (failureExpected) { - ctx.write(ctx.alloc().buffer(1).writeByte(1)) - .addListener(new UnaryPromiseNotifier(clientWritePromise)); + ChannelFuture f = ctx.write(ctx.alloc().buffer(1).writeByte(1)); + PromiseNotifier.cascade(f, clientWritePromise); } }