Class HandshakeManagerImpl
- java.lang.Object
-
- org.opendaylight.openflowplugin.impl.connection.HandshakeManagerImpl
-
- All Implemented Interfaces:
HandshakeManager
public class HandshakeManagerImpl extends Object implements HandshakeManager
-
-
Constructor Summary
Constructors Constructor Description HandshakeManagerImpl(ConnectionAdapter connectionAdapter, Short highestVersion, List<Short> versionOrder, ErrorHandler errorHandler, HandshakeListener handshakeListener, boolean useVersionBitmap, DeviceConnectionRateLimiter deviceConnectionRateLimiter, int deviceConnectionHoldTime, DeviceConnectionStatusProvider deviceConnectionStatusProvider)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Short
getVersion()
Return negotiated version.boolean
isAllowedToConnect(BigInteger nodeId)
protected void
postHandshake(Short proposedVersion, Long xid)
after handshake set features, register to session.protected Short
proposeCommonBitmapVersion(List<Elements> list)
find common highest supported bitmap version.protected short
proposeNextVersion(short remoteVersion)
find supported version based on remoteVersion.void
shake(HelloMessage receivedHello)
Process current handshake step.
-
-
-
Constructor Detail
-
HandshakeManagerImpl
public HandshakeManagerImpl(ConnectionAdapter connectionAdapter, Short highestVersion, List<Short> versionOrder, ErrorHandler errorHandler, HandshakeListener handshakeListener, boolean useVersionBitmap, DeviceConnectionRateLimiter deviceConnectionRateLimiter, int deviceConnectionHoldTime, DeviceConnectionStatusProvider deviceConnectionStatusProvider)
Constructor.- Parameters:
connectionAdapter
- connection adaptor for switchhighestVersion
- highest openflow versionversionOrder
- list of version in order for connection protocol negotiationerrorHandler
- the ErrorHandlerhandshakeListener
- the HandshakeListeneruseVersionBitmap
- should use negotiation bit mapdeviceConnectionRateLimiter
- device connection rate limiter utilitydeviceConnectionHoldTime
- deivce connection hold time in secondsdeviceConnectionStatusProvider
- utility for maintaining device connection states
-
-
Method Detail
-
shake
public void shake(HelloMessage receivedHello)
Description copied from interface:HandshakeManager
Process current handshake step.- Specified by:
shake
in interfaceHandshakeManager
- Parameters:
receivedHello
- message from device we need to act upon
-
getVersion
public Short getVersion()
Description copied from interface:HandshakeManager
Return negotiated version.- Specified by:
getVersion
in interfaceHandshakeManager
- Returns:
- negotiated version.
-
proposeCommonBitmapVersion
protected Short proposeCommonBitmapVersion(List<Elements> list)
find common highest supported bitmap version.- Parameters:
list
- bitmap list- Returns:
- proposed bitmap value
-
proposeNextVersion
protected short proposeNextVersion(short remoteVersion)
find supported version based on remoteVersion.- Parameters:
remoteVersion
- openflow version supported by remote entity- Returns:
- openflow version
-
postHandshake
protected void postHandshake(Short proposedVersion, Long xid)
after handshake set features, register to session.- Parameters:
proposedVersion
- proposed openflow versionxid
- transaction id
-
isAllowedToConnect
public boolean isAllowedToConnect(BigInteger nodeId)
-
-