2 * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
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
9 package org.opendaylight.openflowjava.protocol.impl.core;
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;
17 * @author michal.polkorab
20 public class ChannelInitializerFactory {
22 private long switchIdleTimeOut;
23 private DeserializationFactory deserializationFactory;
24 private SerializationFactory serializationFactory;
25 private TlsConfiguration tlsConfig;
26 private SwitchConnectionHandler switchConnectionHandler;
27 private boolean useBarrier;
30 * @return PublishingChannelInitializer that initializes new channels
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);
44 * @return PublishingChannelInitializer that initializes new channels
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);
56 * @param switchIdleTimeOut
58 public void setSwitchIdleTimeout(final long switchIdleTimeOut) {
59 this.switchIdleTimeOut = switchIdleTimeOut;
63 * @param deserializationFactory
65 public void setDeserializationFactory(final DeserializationFactory deserializationFactory) {
66 this.deserializationFactory = deserializationFactory;
70 * @param serializationFactory
72 public void setSerializationFactory(final SerializationFactory serializationFactory) {
73 this.serializationFactory = serializationFactory;
79 public void setTlsConfig(final TlsConfiguration tlsConfig) {
80 this.tlsConfig = tlsConfig;
84 * @param switchConnectionHandler
86 public void setSwitchConnectionHandler(final SwitchConnectionHandler switchConnectionHandler) {
87 this.switchConnectionHandler = switchConnectionHandler;
93 public void setUseBarrier(final boolean useBarrier) {
94 this.useBarrier = useBarrier;