/* * Copyright (c) 2013 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.connection; import java.net.InetAddress; import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration; import org.opendaylight.openflowjava.protocol.api.connection.ThreadConfiguration; import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.TransportProtocol; /** * @author michal.polkorab * */ public class ConnectionConfigurationImpl implements ConnectionConfiguration { private final InetAddress address; private final int port; private Object transferProtocol; private final TlsConfiguration tlsConfig; private final long switchIdleTimeout; private ThreadConfiguration threadConfig; private final boolean useBarrier; /** * Creates {@link ConnectionConfigurationImpl} * * @param address * @param port * @param tlsConfig * @param switchIdleTimeout * @param useBarrier */ public ConnectionConfigurationImpl(final InetAddress address, final int port, final TlsConfiguration tlsConfig, final long switchIdleTimeout, final boolean useBarrier) { this.address = address; this.port = port; this.tlsConfig = tlsConfig; this.switchIdleTimeout = switchIdleTimeout; this.useBarrier = useBarrier; } @Override public InetAddress getAddress() { return address; } @Override public int getPort() { return port; } @Override public Object getTransferProtocol() { return transferProtocol; } /** * Used for testing - sets transport protocol * @param protocol */ public void setTransferProtocol(final TransportProtocol protocol) { this.transferProtocol = protocol; } @Override public long getSwitchIdleTimeout() { return switchIdleTimeout; } @Override public Object getSslContext() { // TODO Auto-generated method stub return null; } @Override public TlsConfiguration getTlsConfiguration() { return tlsConfig; } @Override public ThreadConfiguration getThreadConfiguration() { return threadConfig; } /** * @param threadConfig thread model configuration (configures threads used) */ public void setThreadConfiguration(final ThreadConfiguration threadConfig) { this.threadConfig = threadConfig; } @Override public boolean useBarrier() { return useBarrier; } }