Allow to configure number of threads used by Netty's EventLoopGroups
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / yang / gen / v1 / urn / opendaylight / params / xml / ns / yang / openflow / _switch / connection / provider / impl / rev140328 / SwitchConnectionProviderModule.java
index 6dbdef09b37381c6824ecf9239ab0a0695b054d3..1a22723a037b70f2941df5bef9979761228a4e18 100644 (file)
@@ -13,11 +13,16 @@ import java.net.InetAddress;
 import java.net.UnknownHostException;
 
 import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration;
+import org.opendaylight.openflowjava.protocol.api.connection.ThreadConfiguration;
+import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration;
 import org.opendaylight.openflowjava.protocol.impl.connection.SwitchConnectionProviderImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.KeystoreType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Objects;
+
 /**
 *
 */
@@ -65,13 +70,15 @@ public final class SwitchConnectionProviderModule extends org.opendaylight.yang.
     }
 
     /**
-     * @return
+     * @return instance configuration object
      * @throws UnknownHostException 
      */
     private ConnectionConfiguration createConnectionConfiguration() throws UnknownHostException {
         final InetAddress address = extractIpAddressBin(getAddress());
         final Integer port = getPort();
         final long switchIdleTimeout = getSwitchIdleTimeout();
+        final Tls tlsConfig = getTls();
+        final Threads threads = getThreads();
         
         return new ConnectionConfiguration() {
             @Override
@@ -88,9 +95,48 @@ public final class SwitchConnectionProviderModule extends org.opendaylight.yang.
                 return null;
             }
             @Override
-            public FEATURE_SUPPORT getTlsSupport() {
-                // TODO Auto-generated method stub
-                return null;
+            public TlsConfiguration getTlsConfiguration() {
+                if (tlsConfig == null) {
+                    return null;
+                }
+                return new TlsConfiguration() {
+                    @Override
+                    public KeystoreType getTlsTruststoreType() {
+                        return Objects.firstNonNull(tlsConfig.getTruststoreType(), null);
+                    }
+                    @Override
+                    public String getTlsTruststore() {
+                        return Objects.firstNonNull(tlsConfig.getTruststore(), null);
+                    }
+                    @Override
+                    public KeystoreType getTlsKeystoreType() {
+                        return Objects.firstNonNull(tlsConfig.getKeystoreType(), null);
+                    }
+                    @Override
+                    public String getTlsKeystore() {
+                        return Objects.firstNonNull(tlsConfig.getKeystore(), null);
+                    }
+                    @Override
+                    public org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.PathType getTlsKeystorePathType() {
+                        return Objects.firstNonNull(tlsConfig.getKeystorePathType(), null);
+                    }
+                    @Override
+                    public org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.PathType getTlsTruststorePathType() {
+                        return Objects.firstNonNull(tlsConfig.getTruststorePathType(), null);
+                    }
+                    @Override
+                    public String getKeystorePassword() {
+                        return Objects.firstNonNull(tlsConfig.getKeystorePassword(), null);
+                    }
+                    @Override
+                    public String getCertificatePassword() {
+                        return Objects.firstNonNull(tlsConfig.getCertificatePassword(), null);
+                    }
+                    @Override
+                    public String getTruststorePassword() {
+                        return Objects.firstNonNull(tlsConfig.getTruststorePassword(), null);
+                    }
+                };
             }
             @Override
             public long getSwitchIdleTimeout() {
@@ -101,6 +147,24 @@ public final class SwitchConnectionProviderModule extends org.opendaylight.yang.
                 // TODO Auto-generated method stub
                 return null;
             }
+            @Override
+            public ThreadConfiguration getThreadConfiguration() {
+                if (threads == null) {
+                    return null;
+                }
+                return new ThreadConfiguration() {
+                    
+                    @Override
+                    public int getWorkerThreadCount() {
+                        return threads.getWorkerThreads();
+                    }
+                    
+                    @Override
+                    public int getBossThreadCount() {
+                        return threads.getBossThreads();
+                    }
+                };
+            }
         };
     }