1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty5.handler.ssl;
17
18 import javax.net.ssl.SSLEngine;
19 import java.util.List;
20 import java.util.function.BiFunction;
21
22 final class BouncyCastleAlpnSslEngine extends JdkAlpnSslEngine {
23
24 BouncyCastleAlpnSslEngine(SSLEngine engine,
25 @SuppressWarnings("deprecation") JdkApplicationProtocolNegotiator applicationNegotiator,
26 boolean isServer) {
27 super(engine, applicationNegotiator, isServer,
28 BouncyCastleAlpnSslUtils::setHandshakeApplicationProtocolSelector,
29 BouncyCastleAlpnSslUtils::setApplicationProtocols);
30 }
31
32 @Override
33 public String getApplicationProtocol() {
34 return BouncyCastleAlpnSslUtils.getApplicationProtocol(getWrappedEngine());
35 }
36
37 @Override
38 public String getHandshakeApplicationProtocol() {
39 return BouncyCastleAlpnSslUtils.getHandshakeApplicationProtocol(getWrappedEngine());
40 }
41
42 @Override
43 public void setHandshakeApplicationProtocolSelector(BiFunction<SSLEngine, List<String>, String> selector) {
44 BouncyCastleAlpnSslUtils.setHandshakeApplicationProtocolSelector(getWrappedEngine(), selector);
45 }
46
47 @Override
48 public BiFunction<SSLEngine, List<String>, String> getHandshakeApplicationProtocolSelector() {
49 return BouncyCastleAlpnSslUtils.getHandshakeApplicationProtocolSelector(getWrappedEngine());
50 }
51
52 }