/* * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.openflowjava.protocol.impl.core; import io.netty.channel.Channel; import io.netty.channel.ChannelInitializer; import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler; import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration; import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory; import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory; /** * @param <C> Channel type * @author michal.polkorab */ public abstract class ProtocolChannelInitializer<C extends Channel> extends ChannelInitializer<C> { private SwitchConnectionHandler switchConnectionHandler; private long switchIdleTimeout; private SerializationFactory serializationFactory; private DeserializationFactory deserializationFactory; private TlsConfiguration tlsConfiguration; private boolean useBarrier; /** * @param switchConnectionHandler the switchConnectionHandler to set */ public void setSwitchConnectionHandler(final SwitchConnectionHandler switchConnectionHandler) { this.switchConnectionHandler = switchConnectionHandler; } /** * @param switchIdleTimeout the switchIdleTimeout to set */ public void setSwitchIdleTimeout(final long switchIdleTimeout) { this.switchIdleTimeout = switchIdleTimeout; } /** * @param serializationFactory */ public void setSerializationFactory(final SerializationFactory serializationFactory) { this.serializationFactory = serializationFactory; } /** * @param deserializationFactory */ public void setDeserializationFactory(final DeserializationFactory deserializationFactory) { this.deserializationFactory = deserializationFactory; } /** * @param tlsConfiguration */ public void setTlsConfiguration(final TlsConfiguration tlsConfiguration) { this.tlsConfiguration = tlsConfiguration; } /** * @return switch connection handler */ public SwitchConnectionHandler getSwitchConnectionHandler() { return switchConnectionHandler; } /** * @return switch idle timeout */ public long getSwitchIdleTimeout() { return switchIdleTimeout; } /** * @return serialization factory */ public SerializationFactory getSerializationFactory() { return serializationFactory; } /** * @return deserialization factory */ public DeserializationFactory getDeserializationFactory() { return deserializationFactory; } /** * @return TLS configuration */ public TlsConfiguration getTlsConfiguration() { return tlsConfiguration; } /** * @param useBarrier */ public void setUseBarrier(final boolean useBarrier) { this.useBarrier = useBarrier; } /** * @return useBarrrier */ public boolean useBarrier() { return useBarrier; } }