DelegatingSslContext extends SslContext { @Override public final SSLEngine newEngine(ByteBufAllocator alloc) { SSLEngine engine = ctx.newEngine(alloc); initEngine(engine); return engine; } 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 testInitEngineOnNewEngine() throws Exception { SslContext delegating = newDelegatingSslContext(); SSLEngine engine = delegating.newEngine(UnpooledByteBufAllocator.DEFAULT); Assert.assertArrayEquals(EXPECTED_PROTOCOLS, engine.getEnabledProtocols()); engine = delegating.newEngine(UnpooledByteBufAllocator.DEFAULT, "localhost", 9090); Assert.assertArrayEquals(EXPECTED_PROTOCOLS, engine.getEnabledProtocols()); }