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;
29 * @return PublishingChannelInitializer that initializes new channels
31 public TcpChannelInitializer createPublishingChannelInitializer() {
32 TcpChannelInitializer initializer = new TcpChannelInitializer();
33 initializer.setSwitchIdleTimeout(switchIdleTimeOut);
34 initializer.setDeserializationFactory(deserializationFactory);
35 initializer.setSerializationFactory(serializationFactory);
36 initializer.setTlsConfiguration(tlsConfig);
37 initializer.setSwitchConnectionHandler(switchConnectionHandler);
42 * @return PublishingChannelInitializer that initializes new channels
44 public UdpChannelInitializer createUdpChannelInitializer() {
45 UdpChannelInitializer initializer = new UdpChannelInitializer();
46 initializer.setSwitchIdleTimeout(switchIdleTimeOut);
47 initializer.setDeserializationFactory(deserializationFactory);
48 initializer.setSerializationFactory(serializationFactory);
49 initializer.setSwitchConnectionHandler(switchConnectionHandler);
54 * @param switchIdleTimeOut
56 public void setSwitchIdleTimeout(long switchIdleTimeOut) {
57 this.switchIdleTimeOut = switchIdleTimeOut;
61 * @param deserializationFactory
63 public void setDeserializationFactory(DeserializationFactory deserializationFactory) {
64 this.deserializationFactory = deserializationFactory;
68 * @param serializationFactory
70 public void setSerializationFactory(SerializationFactory serializationFactory) {
71 this.serializationFactory = serializationFactory;
77 public void setTlsConfig(TlsConfiguration tlsConfig) {
78 this.tlsConfig = tlsConfig;
82 * @param switchConnectionHandler
84 public void setSwitchConnectionHandler(SwitchConnectionHandler switchConnectionHandler) {
85 this.switchConnectionHandler = switchConnectionHandler;