Class ContextChainHolderImpl
- java.lang.Object
-
- org.opendaylight.openflowplugin.impl.lifecycle.ContextChainHolderImpl
-
- All Implemented Interfaces:
AutoCloseable
,org.opendaylight.mdsal.eos.binding.api.EntityOwnershipListener
,org.opendaylight.mdsal.eos.common.api.GenericEntityOwnershipListener<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.mdsal.eos.binding.api.EntityOwnershipChange>
,DeviceConnectedHandler
,DeviceDisconnectedHandler
,DeviceRemovedHandler
,ContextChainHolder
,ContextChainMastershipWatcher
,MasterChecker
public class ContextChainHolderImpl extends Object implements ContextChainHolder, MasterChecker
-
-
Constructor Summary
Constructors Constructor Description ContextChainHolderImpl(ExecutorService executorService, org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider singletonServiceProvider, org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService, OwnershipChangeListener ownershipChangeListener, OpenflowProviderConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends OFPManager>
voidaddManager(T manager)
Managers need to be added before.void
close()
ConnectionStatus
deviceConnected(ConnectionContext connectionContext)
Method is used to propagate information about established connection with device.ContextChain
getContextChain(DeviceInfo deviceInfo)
Return theContextChain
for a givenDeviceInfo
.boolean
isAnyDeviceMastered()
Check if any device is mastered by controller.List<DeviceInfo>
listOfMasteredDevices()
Mastered devices.void
onDeviceDisconnected(ConnectionContext connectionContext)
Method is used to propagate information about closed connection with device.void
onDeviceRemoved(DeviceInfo deviceInfo)
Method is used to propagate information about device being removed from manager.void
onMasterRoleAcquired(@NonNull DeviceInfo deviceInfo, @NonNull ContextChainMastershipState mastershipState)
Changed to MASTER role on device.void
onNotAbleToStartMastership(@NonNull DeviceInfo deviceInfo, @NonNull String reason, boolean mandatory)
Event occurs if there was a try to acquire MASTER role.void
onSlaveRoleAcquired(DeviceInfo deviceInfo)
Change to SLAVE role on device was successful.void
onSlaveRoleNotAcquired(DeviceInfo deviceInfo, String reason)
Change to SLAVE role on device was not able.void
ownershipChanged(org.opendaylight.mdsal.eos.binding.api.EntityOwnershipChange entityOwnershipChange)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opendaylight.openflowplugin.api.openflow.lifecycle.ContextChainMastershipWatcher
onNotAbleToStartMastershipMandatory
-
-
-
-
Constructor Detail
-
ContextChainHolderImpl
public ContextChainHolderImpl(ExecutorService executorService, org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider singletonServiceProvider, org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService, OwnershipChangeListener ownershipChangeListener, OpenflowProviderConfig config)
-
-
Method Detail
-
addManager
public <T extends OFPManager> void addManager(T manager)
Description copied from interface:ContextChainHolder
- Specified by:
addManager
in interfaceContextChainHolder
- Type Parameters:
T
-OFPManager
- Parameters:
manager
- a child class ofOFPManager
-
deviceConnected
public ConnectionStatus deviceConnected(ConnectionContext connectionContext)
Description copied from interface:DeviceConnectedHandler
Method is used to propagate information about established connection with device. It propagates connected device's connection context.- Specified by:
deviceConnected
in interfaceDeviceConnectedHandler
-
onNotAbleToStartMastership
public void onNotAbleToStartMastership(@NonNull DeviceInfo deviceInfo, @NonNull String reason, boolean mandatory)
Description copied from interface:ContextChainMastershipWatcher
Event occurs if there was a try to acquire MASTER role. But it was not possible to start this MASTER role on device.- Specified by:
onNotAbleToStartMastership
in interfaceContextChainMastershipWatcher
- Parameters:
deviceInfo
- connected switch identificationreason
- reasonmandatory
- if it is mandatory connection will be dropped
-
onMasterRoleAcquired
public void onMasterRoleAcquired(@NonNull DeviceInfo deviceInfo, @NonNull ContextChainMastershipState mastershipState)
Description copied from interface:ContextChainMastershipWatcher
Changed to MASTER role on device.- Specified by:
onMasterRoleAcquired
in interfaceContextChainMastershipWatcher
- Parameters:
deviceInfo
- connected switch identificationmastershipState
- state
-
onSlaveRoleAcquired
public void onSlaveRoleAcquired(DeviceInfo deviceInfo)
Description copied from interface:ContextChainMastershipWatcher
Change to SLAVE role on device was successful.- Specified by:
onSlaveRoleAcquired
in interfaceContextChainMastershipWatcher
- Parameters:
deviceInfo
- connected switch identification
-
onSlaveRoleNotAcquired
public void onSlaveRoleNotAcquired(DeviceInfo deviceInfo, String reason)
Description copied from interface:ContextChainMastershipWatcher
Change to SLAVE role on device was not able.- Specified by:
onSlaveRoleNotAcquired
in interfaceContextChainMastershipWatcher
- Parameters:
deviceInfo
- connected switch identificationreason
- reason
-
onDeviceDisconnected
public void onDeviceDisconnected(ConnectionContext connectionContext)
Description copied from interface:DeviceDisconnectedHandler
Method is used to propagate information about closed connection with device. It propagates connected device's connection context.- Specified by:
onDeviceDisconnected
in interfaceDeviceDisconnectedHandler
-
getContextChain
public ContextChain getContextChain(DeviceInfo deviceInfo)
Description copied from interface:ContextChainHolder
Return theContextChain
for a givenDeviceInfo
.- Specified by:
getContextChain
in interfaceContextChainHolder
- Returns:
ContextChain
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceContextChainHolder
-
ownershipChanged
public void ownershipChanged(org.opendaylight.mdsal.eos.binding.api.EntityOwnershipChange entityOwnershipChange)
- Specified by:
ownershipChanged
in interfaceorg.opendaylight.mdsal.eos.binding.api.EntityOwnershipListener
- Specified by:
ownershipChanged
in interfaceorg.opendaylight.mdsal.eos.common.api.GenericEntityOwnershipListener<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.mdsal.eos.binding.api.EntityOwnershipChange>
-
listOfMasteredDevices
public List<DeviceInfo> listOfMasteredDevices()
Description copied from interface:MasterChecker
Mastered devices.- Specified by:
listOfMasteredDevices
in interfaceMasterChecker
- Returns:
- list of mastered devices
-
isAnyDeviceMastered
public boolean isAnyDeviceMastered()
Description copied from interface:MasterChecker
Check if any device is mastered by controller.- Specified by:
isAnyDeviceMastered
in interfaceMasterChecker
- Returns:
- true if there is at least one device mastered by controller
-
onDeviceRemoved
public void onDeviceRemoved(DeviceInfo deviceInfo)
Description copied from interface:DeviceRemovedHandler
Method is used to propagate information about device being removed from manager.- Specified by:
onDeviceRemoved
in interfaceDeviceRemovedHandler
-
-