Interface ConnectionContext
-
- All Known Implementing Classes:
ConnectionContextImpl
public interface ConnectionContextEach OpenFlow session is tracked by a Connection Context. These attach to a particular Device Context in such a way, that there is at most one primary session associated with a Device Context.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classConnectionContext.CONNECTION_STATEDistinguished connection states.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidchangeStateToHandshaking()change internal state toConnectionContext.CONNECTION_STATE.HANDSHAKING.voidchangeStateToTimeouting()change internal state toConnectionContext.CONNECTION_STATE.TIMEOUTING.voidchangeStateToWorking()change internal state toConnectionContext.CONNECTION_STATE.WORKING.voidcloseConnection(boolean propagate)actively drop associated connection.ConnectionAdaptergetConnectionAdapter()Returns connection adapter.ConnectionContext.CONNECTION_STATEgetConnectionState()Method returns current connection state.DeviceInfogetDeviceInfo()Create and return basic device info.FeaturesReplygetFeatures()Getter.NodeIdgetNodeId()Method returns identifier of device whic connection represents this context.OutboundQueuegetOutboundQueueProvider()Returns reference to OFJava outbound queue provider.StringgetSafeNodeIdForLOG()voidhandlePortStatusMessage(PortStatusMessage portStatusMessage)Handle received port status message.voidhandshakeSuccessful()This method creates a basic device information.voidonConnectionClosed()cleanup context upon connection closed event (by device).List<PortStatusMessage>retrieveAndClearPortStatusMessages()voidsetDeviceDisconnectedHandler(DeviceDisconnectedHandler deviceDisconnectedHandler)Method sets handler for handling closing connections.voidsetFeatures(FeaturesReply featuresReply)Setter.voidsetHandshakeContext(HandshakeContext handshakeContext)Setter.voidsetNodeId(NodeId nodeId)Setter for nodeId.voidsetOutboundQueueHandleRegistration(OutboundQueueHandlerRegistration<OutboundQueueProvider> outboundQueueHandlerRegistration)voidsetOutboundQueueProvider(OutboundQueueProvider outboundQueueProvider)Method sets reference to OFJava outbound queue provider.
-
-
-
Method Detail
-
setHandshakeContext
void setHandshakeContext(HandshakeContext handshakeContext)
Setter.- Parameters:
handshakeContext- corresponding handshake context used upon this connection
-
setNodeId
void setNodeId(NodeId nodeId)
Setter for nodeId.- Parameters:
nodeId- node id
-
getNodeId
NodeId getNodeId()
Method returns identifier of device whic connection represents this context.- Returns:
NodeId
-
getConnectionAdapter
ConnectionAdapter getConnectionAdapter()
Returns connection adapter.- Returns:
- the connectionAdapter
-
getOutboundQueueProvider
OutboundQueue getOutboundQueueProvider()
Returns reference to OFJava outbound queue provider. Outbound queue is used for outbound messages processing.- Returns:
OutboundQueueProvider
-
setOutboundQueueProvider
void setOutboundQueueProvider(OutboundQueueProvider outboundQueueProvider)
Method sets reference to OFJava outbound queue provider.- Parameters:
outboundQueueProvider-OutboundQueueProvider
-
getConnectionState
ConnectionContext.CONNECTION_STATE getConnectionState()
Method returns current connection state.- Returns:
ConnectionContext.CONNECTION_STATE
-
setFeatures
void setFeatures(FeaturesReply featuresReply)
Setter.- Parameters:
featuresReply- as received from device during handshake
-
getFeatures
FeaturesReply getFeatures()
Getter.- Returns:
- featureReply as received from device during handshake
-
setDeviceDisconnectedHandler
void setDeviceDisconnectedHandler(DeviceDisconnectedHandler deviceDisconnectedHandler)
Method sets handler for handling closing connections.- Parameters:
deviceDisconnectedHandler- handler for disconnect
-
getSafeNodeIdForLOG
String getSafeNodeIdForLOG()
-
setOutboundQueueHandleRegistration
void setOutboundQueueHandleRegistration(OutboundQueueHandlerRegistration<OutboundQueueProvider> outboundQueueHandlerRegistration)
-
closeConnection
void closeConnection(boolean propagate)
actively drop associated connection.- Parameters:
propagate- true if event need to be propagated to higher contexts (device, stats, rpc..) or false if invoked from higher context- See Also:
ConnectionAdapter.disconnect()
-
onConnectionClosed
void onConnectionClosed()
cleanup context upon connection closed event (by device).
-
changeStateToHandshaking
void changeStateToHandshaking()
change internal state toConnectionContext.CONNECTION_STATE.HANDSHAKING.
-
changeStateToTimeouting
void changeStateToTimeouting()
change internal state toConnectionContext.CONNECTION_STATE.TIMEOUTING.
-
changeStateToWorking
void changeStateToWorking()
change internal state toConnectionContext.CONNECTION_STATE.WORKING.
-
getDeviceInfo
DeviceInfo getDeviceInfo()
Create and return basic device info.- Returns:
- created device info
-
handshakeSuccessful
void handshakeSuccessful()
This method creates a basic device information. Should be called after nodeId and features are set in connection context.
-
handlePortStatusMessage
void handlePortStatusMessage(PortStatusMessage portStatusMessage)
Handle received port status message.- Parameters:
portStatusMessage- port status message
-
retrieveAndClearPortStatusMessages
List<PortStatusMessage> retrieveAndClearPortStatusMessages()
-
-