UDP support implementation
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / ChannelInitializerFactory.java
diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/ChannelInitializerFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/ChannelInitializerFactory.java
new file mode 100644 (file)
index 0000000..c453b0b
--- /dev/null
@@ -0,0 +1,87 @@
+/*\r
+ * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+package org.opendaylight.openflowjava.protocol.impl.core;\r
+\r
+import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;\r
+import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;\r
+\r
+/**\r
+ * @author michal.polkorab\r
+ *\r
+ */\r
+public class ChannelInitializerFactory {\r
+\r
+    private long switchIdleTimeOut;\r
+    private DeserializationFactory deserializationFactory;\r
+    private SerializationFactory serializationFactory;\r
+    private TlsConfiguration tlsConfig;\r
+    private SwitchConnectionHandler switchConnectionHandler;\r
+    \r
+    /**\r
+     * @return PublishingChannelInitializer that initializes new channels\r
+     */\r
+    public TcpChannelInitializer createPublishingChannelInitializer() {\r
+        TcpChannelInitializer initializer = new TcpChannelInitializer();\r
+        initializer.setSwitchIdleTimeout(switchIdleTimeOut);\r
+        initializer.setDeserializationFactory(deserializationFactory);\r
+        initializer.setSerializationFactory(serializationFactory);\r
+        initializer.setTlsConfiguration(tlsConfig);\r
+        initializer.setSwitchConnectionHandler(switchConnectionHandler);\r
+        return initializer;\r
+    }\r
+\r
+    /**\r
+     * @return PublishingChannelInitializer that initializes new channels\r
+     */\r
+    public UdpChannelInitializer createUdpChannelInitializer() {\r
+        UdpChannelInitializer initializer = new UdpChannelInitializer();\r
+        initializer.setSwitchIdleTimeout(switchIdleTimeOut);\r
+        initializer.setDeserializationFactory(deserializationFactory);\r
+        initializer.setSerializationFactory(serializationFactory);\r
+        initializer.setSwitchConnectionHandler(switchConnectionHandler);\r
+        return initializer;\r
+    }\r
+\r
+    /**\r
+     * @param switchIdleTimeOut\r
+     */\r
+    public void setSwitchIdleTimeout(long switchIdleTimeOut) {\r
+        this.switchIdleTimeOut = switchIdleTimeOut;\r
+    }\r
+\r
+    /**\r
+     * @param deserializationFactory\r
+     */\r
+    public void setDeserializationFactory(DeserializationFactory deserializationFactory) {\r
+        this.deserializationFactory = deserializationFactory;\r
+    }\r
+\r
+    /**\r
+     * @param serializationFactory\r
+     */\r
+    public void setSerializationFactory(SerializationFactory serializationFactory) {\r
+        this.serializationFactory = serializationFactory;\r
+    }\r
+\r
+    /**\r
+     * @param tlsConfig\r
+     */\r
+    public void setTlsConfig(TlsConfiguration tlsConfig) {\r
+        this.tlsConfig = tlsConfig;\r
+    }\r
+\r
+    /**\r
+     * @param switchConnectionHandler\r
+     */\r
+    public void setSwitchConnectionHandler(SwitchConnectionHandler switchConnectionHandler) {\r
+        this.switchConnectionHandler = switchConnectionHandler;\r
+    }\r
+}
\ No newline at end of file