Barrier turn on/off-add switcher value to Config-Subsystem
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / ChannelInitializerFactory.java
1 /*
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.openflowjava.protocol.impl.core;
10
11 import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;
12 import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration;
13 import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;
14 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;
15
16 /**
17  * @author michal.polkorab
18  *
19  */
20 public class ChannelInitializerFactory {
21
22     private long switchIdleTimeOut;
23     private DeserializationFactory deserializationFactory;
24     private SerializationFactory serializationFactory;
25     private TlsConfiguration tlsConfig;
26     private SwitchConnectionHandler switchConnectionHandler;
27     private boolean useBarrier;
28
29     /**
30      * @return PublishingChannelInitializer that initializes new channels
31      */
32     public TcpChannelInitializer createPublishingChannelInitializer() {
33         final TcpChannelInitializer initializer = new TcpChannelInitializer();
34         initializer.setSwitchIdleTimeout(switchIdleTimeOut);
35         initializer.setDeserializationFactory(deserializationFactory);
36         initializer.setSerializationFactory(serializationFactory);
37         initializer.setTlsConfiguration(tlsConfig);
38         initializer.setSwitchConnectionHandler(switchConnectionHandler);
39         initializer.setUseBarrier(useBarrier);
40         return initializer;
41     }
42
43     /**
44      * @return PublishingChannelInitializer that initializes new channels
45      */
46     public UdpChannelInitializer createUdpChannelInitializer() {
47         final UdpChannelInitializer initializer = new UdpChannelInitializer();
48         initializer.setSwitchIdleTimeout(switchIdleTimeOut);
49         initializer.setDeserializationFactory(deserializationFactory);
50         initializer.setSerializationFactory(serializationFactory);
51         initializer.setSwitchConnectionHandler(switchConnectionHandler);
52         return initializer;
53     }
54
55     /**
56      * @param switchIdleTimeOut
57      */
58     public void setSwitchIdleTimeout(final long switchIdleTimeOut) {
59         this.switchIdleTimeOut = switchIdleTimeOut;
60     }
61
62     /**
63      * @param deserializationFactory
64      */
65     public void setDeserializationFactory(final DeserializationFactory deserializationFactory) {
66         this.deserializationFactory = deserializationFactory;
67     }
68
69     /**
70      * @param serializationFactory
71      */
72     public void setSerializationFactory(final SerializationFactory serializationFactory) {
73         this.serializationFactory = serializationFactory;
74     }
75
76     /**
77      * @param tlsConfig
78      */
79     public void setTlsConfig(final TlsConfiguration tlsConfig) {
80         this.tlsConfig = tlsConfig;
81     }
82
83     /**
84      * @param switchConnectionHandler
85      */
86     public void setSwitchConnectionHandler(final SwitchConnectionHandler switchConnectionHandler) {
87         this.switchConnectionHandler = switchConnectionHandler;
88     }
89
90     /**
91      * @param useBarrier
92      */
93     public void setUseBarrier(final boolean useBarrier) {
94         this.useBarrier = useBarrier;
95     }
96 }