2 * Copyright (c) 2013 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
10 package org.opendaylight.openflowjava.protocol.api.connection;
12 import java.net.InetAddress;
14 import javax.net.ssl.SSLEngine;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SwitchIdleEvent;
22 public interface ConnectionConfiguration {
25 * connection functionality support types
27 public enum FEATURE_SUPPORT {
28 /** feature is not supported at all */
30 /** feature is supported */
32 /** feature is supported and has to be used by clients */
37 * @return address to bind, if null, all available interfaces will be used
39 public InetAddress getAddress();
42 * @return port to bind
47 * @return transport protocol to use
49 public Object getTransferProtocol();
52 * @return encryption feature support
54 public FEATURE_SUPPORT getTlsSupport();
57 * @return silence time (in milliseconds) - after this time {@link SwitchIdleEvent} message is sent upstream
59 public long getSwitchIdleTimeout();
62 * @return seed for {@link SSLEngine}
64 public Object getSslContext();