External service integration support for TLS transport
[netconf.git] / transport / transport-tls / src / main / java / org / opendaylight / netconf / transport / tls / TLSClient.java
index b3ec9b7591a5b09ed95c144511cb6868081156f2..facb096e4f8dba2691df25b67c81a6da88f7422a 100644 (file)
@@ -32,13 +32,24 @@ public final class TLSClient extends TLSTransportStack {
         super(listener, sslContext);
     }
 
+    private TLSClient(final TransportChannelListener listener, final SslHandlerFactory factory) {
+        super(listener, factory);
+    }
+
     public static @NonNull ListenableFuture<TLSClient> connect(final TransportChannelListener listener,
             final Bootstrap bootstrap, final TcpClientGrouping connectParams, final TlsClientGrouping clientParams)
-            throws UnsupportedConfigurationException {
+                throws UnsupportedConfigurationException {
         final var client = newClient(listener, clientParams);
         return transformUnderlay(client, TCPClient.connect(client.asListener(), bootstrap, connectParams));
     }
 
+    public static @NonNull ListenableFuture<TLSClient> connect(final TransportChannelListener listener,
+            final Bootstrap bootstrap, final TcpClientGrouping connectParams, final SslHandlerFactory factory)
+                throws UnsupportedConfigurationException {
+        final var client = new TLSClient(listener, factory);
+        return transformUnderlay(client, TCPClient.connect(client.asListener(), bootstrap, connectParams));
+    }
+
     public static @NonNull ListenableFuture<TLSClient> listen(final TransportChannelListener listener,
             final ServerBootstrap bootstrap, final TcpServerGrouping listenParams, final TlsClientGrouping clientParams)
             throws UnsupportedConfigurationException {