Interface ConnectionContext
- All Known Implementing Classes:
ConnectionContextImpl
public interface ConnectionContext
Each 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 ClassesModifier and TypeInterfaceDescriptionstatic enumDistinguished connection states. -
Method Summary
Modifier and TypeMethodDescriptionvoidchange internal state toConnectionContext.CONNECTION_STATE.HANDSHAKING.voidchange internal state toConnectionContext.CONNECTION_STATE.TIMEOUTING.voidchange internal state toConnectionContext.CONNECTION_STATE.WORKING.voidcloseConnection(boolean propagate) actively drop associated connection.Returns connection adapter.Method returns current connection state.Create and return basic device info.Getter.Method returns identifier of device whic connection represents this context.Returns reference to OFJava outbound queue provider.voidhandlePortStatusMessage(PortStatusMessage portStatusMessage) Handle received port status message.voidThis method creates a basic device information.voidcleanup context upon connection closed event (by device).voidsetDeviceDisconnectedHandler(DeviceDisconnectedHandler deviceDisconnectedHandler) Method sets handler for handling closing connections.voidsetFeatures(FeaturesReply featuresReply) Setter.voidsetHandshakeContext(HandshakeContext handshakeContext) Setter.voidSetter for nodeId.voidsetOutboundQueueHandleRegistration(OutboundQueueHandlerRegistration<OutboundQueueProvider> outboundQueueHandlerRegistration) voidsetOutboundQueueProvider(OutboundQueueProvider outboundQueueProvider) Method sets reference to OFJava outbound queue provider.
-
Method Details
-
setHandshakeContext
Setter.- Parameters:
handshakeContext- corresponding handshake context used upon this connection
-
setNodeId
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
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
Setter.- Parameters:
featuresReply- as received from device during handshake
-
getFeatures
FeaturesReply getFeatures()Getter.- Returns:
- featureReply as received from device during handshake
-
setDeviceDisconnectedHandler
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:
-
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
Handle received port status message.- Parameters:
portStatusMessage- port status message
-
retrieveAndClearPortStatusMessages
List<PortStatusMessage> retrieveAndClearPortStatusMessages()
-