5b7b70ac3606801a651ca442242428cfef659807
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / md / core / HandshakeManager.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 package org.opendaylight.openflowplugin.api.openflow.md.core;
9
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.HelloMessage;
11
12 /**
13  * @author mirehak
14  */
15 public interface HandshakeManager {
16
17     /**
18      * @return negotiated version
19      */
20     Short getVersion();
21
22     /**
23      * @param errorHandler the errorHandler to set
24      */
25     void setErrorHandler(ErrorHandler errorHandler);
26
27     /**
28      * @param handshakeListener the handshakeListener to set
29      */
30     void setHandshakeListener(HandshakeListener handshakeListener);
31
32     /**
33      * @param isBitmapNegotiationEnable
34      */
35     void setUseVersionBitmap(boolean isBitmapNegotiationEnable);
36
37     /**
38      * @param receivedHello message from device we need to act upon
39      * process current handshake step
40      */
41     void shake(HelloMessage receivedHello);
42 }