sessionManager proposal
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / ConnectionConductor.java
1 /**
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.openflowplugin.openflow.md.core;
10
11
12 /**
13  * @author mirehak
14  */
15 /**
16  * @author mirehak
17  *
18  */
19 public interface ConnectionConductor {
20
21     /** distinguished connection states */
22     public enum CONDUCTOR_STATE {
23         /** initial phase of talking to switch */
24         HANDSHAKING,
25         /** standard phase - interacting with switch */
26         WORKING,
27         /** connection is idle, waiting for echo reply from switch */
28         TIMEOUTING,
29         /** talking to switch is over - resting in pieces */
30         RIP
31     }
32
33     /**
34      * initialize wiring around {@link #connectionAdapter}
35      */
36     public void init();
37
38     /**
39      * @return the negotiated version
40      */
41     public Short getVersion();
42
43     /**
44      * @return the state of conductor
45      */
46     public CONDUCTOR_STATE getConductorState();
47
48     /**
49      * @param conductorState
50      */
51     public void setConductorState(CONDUCTOR_STATE conductorState);
52 }