From 915bf5f5b7d0afa40c9921bea0025d80cb29a51a Mon Sep 17 00:00:00 2001 From: Roger Kapsi Date: Fri, 19 May 2017 10:19:10 -0400 Subject: [PATCH] SslHandler#handlerRemoved0() shouldn't care about the SSLEngine being a specific type but only if it's ReferenceCounted Motivation SslHandler should release any type of SSLEngine if it implements the ReferenceCounted interface Modifications Change condition to check for ReferenceCounted interface Result Better use of interfaces --- handler/src/main/java/io/netty/handler/ssl/SslHandler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/handler/src/main/java/io/netty/handler/ssl/SslHandler.java b/handler/src/main/java/io/netty/handler/ssl/SslHandler.java index bd9abdde4b..c05496466c 100644 --- a/handler/src/main/java/io/netty/handler/ssl/SslHandler.java +++ b/handler/src/main/java/io/netty/handler/ssl/SslHandler.java @@ -34,6 +34,7 @@ import io.netty.channel.ChannelPromiseNotifier; import io.netty.channel.PendingWriteQueue; import io.netty.handler.codec.ByteToMessageDecoder; import io.netty.handler.codec.UnsupportedMessageTypeException; +import io.netty.util.ReferenceCounted; import io.netty.util.concurrent.DefaultPromise; import io.netty.util.concurrent.EventExecutor; import io.netty.util.concurrent.Future; @@ -580,8 +581,8 @@ public class SslHandler extends ByteToMessageDecoder implements ChannelOutboundH // Check if queue is not empty first because create a new ChannelException is expensive pendingUnencryptedWrites.removeAndFailAll(new ChannelException("Pending write on removal of SslHandler")); } - if (engine instanceof ReferenceCountedOpenSslEngine) { - ((ReferenceCountedOpenSslEngine) engine).release(); + if (engine instanceof ReferenceCounted) { + ((ReferenceCounted) engine).release(); } }