static SSLEngine setProtocols(final SSLEngine engine, final String[] protocols) { if (engine.getUseClientMode()) { ALPN.put(engine, new ALPNClientSelectionProvider(Arrays.asList(protocols), engine)); } else { ALPN.put(engine, new ALPN.ServerProvider() { @Override public void unsupported() { ALPN.remove(engine); } @Override public String select(List<String> strings) { ALPN.remove(engine); for (String p : protocols) { if (strings.contains(p)) { engine.getHandshakeSession().putValue(PROTOCOL_KEY, p); return p; } } return null; } }); } return engine; } }
static SSLEngine setProtocols(final SSLEngine engine, final String[] protocols) { if (engine.getUseClientMode()) { ALPN.put(engine, new ALPNClientSelectionProvider(Arrays.asList(protocols), engine)); } else { ALPN.put(engine, new ALPN.ServerProvider() { @Override public void unsupported() { ALPN.remove(engine); } @Override public String select(List<String> strings) { ALPN.remove(engine); for (String p : protocols) { if (strings.contains(p)) { engine.getHandshakeSession().putValue(PROTOCOL_KEY, p); return p; } } return null; } }); } return engine; } }
static SSLEngine setProtocols(final SSLEngine engine, final String[] protocols) { if (engine.getUseClientMode()) { ALPN.put(engine, new ALPNClientSelectionProvider(Arrays.asList(protocols), engine)); } else { ALPN.put(engine, new ALPN.ServerProvider() { @Override public void unsupported() { ALPN.remove(engine); } @Override public String select(List<String> strings) { ALPN.remove(engine); for (String p : protocols) { if (strings.contains(p)) { engine.getHandshakeSession().putValue(PROTOCOL_KEY, p); return p; } } return null; } }); } return engine; } }