DelegatingSslContext extends SslContext { @Override protected final SslHandler newHandler(ByteBufAllocator alloc, boolean startTls) { SslHandler handler = ctx.newHandler(alloc, startTls); initHandler(handler); return handler; } protected  DelegatingSslContext(SslContext ctx); @Override final boolean isClient(); @Override final List<String> cipherSuites(); @Override final long sessionCacheSize(); @Override final long sessionTimeout(); @Override final ApplicationProtocolNegotiator applicationProtocolNegotiator(); @Override final SSLEngine newEngine(ByteBufAllocator alloc); @Override final SSLEngine newEngine(ByteBufAllocator alloc, String peerHost, int peerPort); @Override final SSLSessionContext sessionContext();  }
@Test public void testInitEngineOnNewSslHandler() throws Exception { SslContext delegating = newDelegatingSslContext(); SslHandler handler = delegating.newHandler(UnpooledByteBufAllocator.DEFAULT); Assert.assertArrayEquals(EXPECTED_PROTOCOLS, handler.engine().getEnabledProtocols()); handler = delegating.newHandler(UnpooledByteBufAllocator.DEFAULT, "localhost", 9090); Assert.assertArrayEquals(EXPECTED_PROTOCOLS, handler.engine().getEnabledProtocols()); }