Class ForwardingRulesManagerImpl
- java.lang.Object
 - 
- org.opendaylight.openflowplugin.applications.frm.impl.ForwardingRulesManagerImpl
 
 
- 
- All Implemented Interfaces:
 AutoCloseable,ConfigurationListener,ForwardingRulesManager
@Singleton public class ForwardingRulesManagerImpl extends Object implements ForwardingRulesManager
forwardingrules-manager org.opendaylight.openflowplugin.applications.frm.implManager and middle point for whole module. It contains ActiveNodeHolder and provide all RPC services.
 
- 
- 
Constructor Summary
Constructors Constructor Description ForwardingRulesManagerImpl(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.binding.api.RpcConsumerRegistry rpcRegistry, org.opendaylight.mdsal.binding.api.RpcProviderService rpcProviderService, ForwardingRulesManagerConfig config, MastershipChangeServiceManager mastershipChangeServiceManager, org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider clusterSingletonService, ConfigurationService configurationService, ReconciliationManager reconciliationManager, OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry, FlowGroupCacheManager flowGroupCacheManager) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRecoverableListener(org.opendaylight.serviceutils.srm.RecoverableListener recoverableListener)Method for register RecoverableListener.booleancheckNodeInOperationalDataStore(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)Method returns information : "is Node with send InstanceIdentifier present in operational data store"?.voidclose()ArbitratorReconcileServicegetArbitratorReconciliationManager()Method exposes the ArbitratorReconciliationManager service used for performing Arbitrator Based Reconciliation.BundleMessagesCommiter<Flow>getBundleFlowListener()Return BundleFlowListener instance.BundleMessagesCommiter<Group>getBundleGroupListener()Return BundleGroupListener instance.DevicesGroupRegistrygetDevicesGroupRegistry()Return Devices Group Registry which can be used to track the groups present in a device.ForwardingRulesCommiter<Flow>getFlowCommiter()Content definition method and prevent code duplicity in Reconcil.FlowNodeConnectorInventoryTranslatorImplgetFlowNodeConnectorInventoryTranslatorImpl()Content definition method and prevent code duplicity.ForwardingRulesCommiter<Group>getGroupCommiter()Content definition method and prevent code duplicity in Reconcil.ForwardingRulesCommiter<Meter>getMeterCommiter()Content definition method and prevent code duplicity.StringgetNewTransactionId()Method returns generated transaction ID, which is unique for every transaction.NodeConfiguratorgetNodeConfigurator()Return the NodeConfigurator which could be used to serialize jobs.FlowNodeReconciliationgetNodeListener()org.opendaylight.mdsal.binding.api.ReadTransactiongetReadTransaction()Method returns Read Transaction.intgetReconciliationRetryCount()Return number of reconciliation retry are allowed.SalBundleServicegetSalBundleService()Bundle RPC service.SalFlowServicegetSalFlowService()Flow RPC service.SalGroupServicegetSalGroupService()Group RPC service.SalMeterServicegetSalMeterService()Meter RPC service.SalTableServicegetSalTableService()Table RPC service.ForwardingRulesCommiter<TableFeatures>getTableFeaturesCommiter()Content definition method and prevent code duplicity.booleanisBundleBasedReconciliationEnabled()holds the value read from the configuration file openflowplugin.cfg file.booleanisNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)Method returns information : "is Node with send InstanceIdentifier connected"?.booleanisNodeOwner(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)Method checks if *this* instance of openflowplugin is owner of the given openflow node.booleanisReconciliationDisabled()Check if reconciliation is disabled by user.booleanisStaleMarkingEnabled()Check if stale marking is enabled for switch reconciliation.voidonPropertyChanged(@NonNull String propertyName, @NonNull String propertyValue)Method invoked on configuration property change.voidsetDeviceMastershipManager(DeviceMastershipManager deviceMastershipManager)voidstart() 
 - 
 
- 
- 
Constructor Detail
- 
ForwardingRulesManagerImpl
@Inject public ForwardingRulesManagerImpl(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.binding.api.RpcConsumerRegistry rpcRegistry, org.opendaylight.mdsal.binding.api.RpcProviderService rpcProviderService, ForwardingRulesManagerConfig config, MastershipChangeServiceManager mastershipChangeServiceManager, org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider clusterSingletonService, ConfigurationService configurationService, ReconciliationManager reconciliationManager, OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry, FlowGroupCacheManager flowGroupCacheManager) 
 - 
 
- 
Method Detail
- 
start
@PostConstruct public void start()
- Specified by:
 startin interfaceForwardingRulesManager
 
- 
close
@PreDestroy public void close() throws Exception- Specified by:
 closein interfaceAutoCloseable- Throws:
 Exception
 
- 
getReadTransaction
public org.opendaylight.mdsal.binding.api.ReadTransaction getReadTransaction()
Description copied from interface:ForwardingRulesManagerMethod returns Read Transaction. It is need for Node reconciliation only.- Specified by:
 getReadTransactionin interfaceForwardingRulesManager- Returns:
 - ReadOnlyTransaction
 
 
- 
getNewTransactionId
public String getNewTransactionId()
Description copied from interface:ForwardingRulesManagerMethod returns generated transaction ID, which is unique for every transaction. ID is composite from prefix ("DOM") and unique number.- Specified by:
 getNewTransactionIdin interfaceForwardingRulesManager- Returns:
 - String transactionID for RPC transaction identification
 
 
- 
isNodeActive
public boolean isNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)
Description copied from interface:ForwardingRulesManagerMethod returns information : "is Node with send InstanceIdentifier connected"?.- Specified by:
 isNodeActivein interfaceForwardingRulesManager- Parameters:
 ident- - the key of the node- Returns:
 - boolean - true if device is connected
 
 
- 
checkNodeInOperationalDataStore
public boolean checkNodeInOperationalDataStore(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)
Description copied from interface:ForwardingRulesManagerMethod returns information : "is Node with send InstanceIdentifier present in operational data store"?.- Specified by:
 checkNodeInOperationalDataStorein interfaceForwardingRulesManager- Parameters:
 ident- - the key of the node- Returns:
 - boolean - true if device is present in operational data store
 
 
- 
getSalFlowService
public SalFlowService getSalFlowService()
Description copied from interface:ForwardingRulesManagerFlow RPC service.- Specified by:
 getSalFlowServicein interfaceForwardingRulesManager
 
- 
getSalGroupService
public SalGroupService getSalGroupService()
Description copied from interface:ForwardingRulesManagerGroup RPC service.- Specified by:
 getSalGroupServicein interfaceForwardingRulesManager
 
- 
getSalMeterService
public SalMeterService getSalMeterService()
Description copied from interface:ForwardingRulesManagerMeter RPC service.- Specified by:
 getSalMeterServicein interfaceForwardingRulesManager
 
- 
getSalTableService
public SalTableService getSalTableService()
Description copied from interface:ForwardingRulesManagerTable RPC service.- Specified by:
 getSalTableServicein interfaceForwardingRulesManager
 
- 
getDevicesGroupRegistry
public DevicesGroupRegistry getDevicesGroupRegistry()
Description copied from interface:ForwardingRulesManagerReturn Devices Group Registry which can be used to track the groups present in a device.- Specified by:
 getDevicesGroupRegistryin interfaceForwardingRulesManager- Returns:
 - devicesGroupRegistry
 
 
- 
getSalBundleService
public SalBundleService getSalBundleService()
Description copied from interface:ForwardingRulesManagerBundle RPC service.- Specified by:
 getSalBundleServicein interfaceForwardingRulesManager- Returns:
 - salBundleService
 
 
- 
getFlowCommiter
public ForwardingRulesCommiter<Flow> getFlowCommiter()
Description copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity in Reconcil.- Specified by:
 getFlowCommiterin interfaceForwardingRulesManager- Returns:
 - ForwardingRulesCommiter<Flow>.
 
 
- 
getGroupCommiter
public ForwardingRulesCommiter<Group> getGroupCommiter()
Description copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity in Reconcil.- Specified by:
 getGroupCommiterin interfaceForwardingRulesManager- Returns:
 - ForwardingRulesCommiter<Group>
 
 
- 
getMeterCommiter
public ForwardingRulesCommiter<Meter> getMeterCommiter()
Description copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
 getMeterCommiterin interfaceForwardingRulesManager- Returns:
 - ForwardingRulesCommiter<Meter>
 
 
- 
getTableFeaturesCommiter
public ForwardingRulesCommiter<TableFeatures> getTableFeaturesCommiter()
Description copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
 getTableFeaturesCommiterin interfaceForwardingRulesManager- Returns:
 - ForwardingRulesCommiter<Table>
 
 
- 
getBundleFlowListener
public BundleMessagesCommiter<Flow> getBundleFlowListener()
Description copied from interface:ForwardingRulesManagerReturn BundleFlowListener instance.- Specified by:
 getBundleFlowListenerin interfaceForwardingRulesManager- Returns:
 - BundleFlowListener
 
 
- 
getBundleGroupListener
public BundleMessagesCommiter<Group> getBundleGroupListener()
Description copied from interface:ForwardingRulesManagerReturn BundleGroupListener instance.- Specified by:
 getBundleGroupListenerin interfaceForwardingRulesManager- Returns:
 - BundleGroupListener
 
 
- 
getArbitratorReconciliationManager
public ArbitratorReconcileService getArbitratorReconciliationManager()
Description copied from interface:ForwardingRulesManagerMethod exposes the ArbitratorReconciliationManager service used for performing Arbitrator Based Reconciliation.- Specified by:
 getArbitratorReconciliationManagerin interfaceForwardingRulesManager- Returns:
 - ArbitratorReconciliationManager
 
 
- 
isReconciliationDisabled
public boolean isReconciliationDisabled()
Description copied from interface:ForwardingRulesManagerCheck if reconciliation is disabled by user.- Specified by:
 isReconciliationDisabledin interfaceForwardingRulesManager- Returns:
 - true if reconciliation is disabled, else false
 
 
- 
isStaleMarkingEnabled
public boolean isStaleMarkingEnabled()
Description copied from interface:ForwardingRulesManagerCheck if stale marking is enabled for switch reconciliation.- Specified by:
 isStaleMarkingEnabledin interfaceForwardingRulesManager- Returns:
 - true if stale marking is enabled, else false
 
 
- 
getReconciliationRetryCount
public int getReconciliationRetryCount()
Description copied from interface:ForwardingRulesManagerReturn number of reconciliation retry are allowed.- Specified by:
 getReconciliationRetryCountin interfaceForwardingRulesManager- Returns:
 - number of retries.
 
 
- 
addRecoverableListener
public void addRecoverableListener(org.opendaylight.serviceutils.srm.RecoverableListener recoverableListener)
Description copied from interface:ForwardingRulesManagerMethod for register RecoverableListener.- Specified by:
 addRecoverableListenerin interfaceForwardingRulesManager
 
- 
getFlowNodeConnectorInventoryTranslatorImpl
public FlowNodeConnectorInventoryTranslatorImpl getFlowNodeConnectorInventoryTranslatorImpl()
Description copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
 getFlowNodeConnectorInventoryTranslatorImplin interfaceForwardingRulesManager- Returns:
 - FlowNodeConnectorInventoryTranslatorImpl
 
 
- 
getNodeConfigurator
public NodeConfigurator getNodeConfigurator()
Description copied from interface:ForwardingRulesManagerReturn the NodeConfigurator which could be used to serialize jobs.- Specified by:
 getNodeConfiguratorin interfaceForwardingRulesManager- Returns:
 - modeConfigurator.
 
 
- 
getNodeListener
public FlowNodeReconciliation getNodeListener()
 
- 
isBundleBasedReconciliationEnabled
public boolean isBundleBasedReconciliationEnabled()
Description copied from interface:ForwardingRulesManagerholds the value read from the configuration file openflowplugin.cfg file.- Specified by:
 isBundleBasedReconciliationEnabledin interfaceForwardingRulesManager- Returns:
 - True if user enables bundle-based-reconciliation-enabled field in config file or False
 
 
- 
isNodeOwner
public boolean isNodeOwner(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident)
Description copied from interface:ForwardingRulesManagerMethod checks if *this* instance of openflowplugin is owner of the given openflow node.- Specified by:
 isNodeOwnerin interfaceForwardingRulesManager- Returns:
 - True if owner, else false
 
 
- 
setDeviceMastershipManager
public void setDeviceMastershipManager(DeviceMastershipManager deviceMastershipManager)
 
- 
onPropertyChanged
public void onPropertyChanged(@NonNull String propertyName, @NonNull String propertyValue)
Description copied from interface:ConfigurationListenerMethod invoked on configuration property change.- Specified by:
 onPropertyChangedin interfaceConfigurationListener- Parameters:
 propertyName- the property namepropertyValue- the property value
 
 - 
 
 -