Class HwvtepReconciliationTask
- java.lang.Object
-
- org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.ReconciliationTask
-
- org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.configuration.HwvtepReconciliationTask
-
- All Implemented Interfaces:
Runnable
public class HwvtepReconciliationTask extends ReconciliationTask
-
-
Field Summary
-
Fields inherited from class org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.ReconciliationTask
configData, connectionManager, nodeIid, reconciliationManager
-
-
Constructor Summary
Constructors Constructor Description HwvtepReconciliationTask(ReconciliationManager reconciliationManager, HwvtepConnectionManager connectionManager, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> nodeId, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node psNode, HwvtepConnectionInstance connectionInstance, org.opendaylight.mdsal.binding.api.DataBroker db)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkReadinessAndProcess()
Extended task should implement the logic that check the readiness of the task for execution.void
doRetry(boolean wasPreviousAttemptSuccessful)
Extended task should implement the logic that decides whether retry for the task is required or not.boolean
reconcileConfiguration(HwvtepConnectionManager connectionManagerOfDevice)
Method contains task reconciliation logic.long
retryDelayInMills()
Method returns the time interval for retrying the failed task.-
Methods inherited from class org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.ReconciliationTask
equals, hashCode, run, toString
-
-
-
-
Constructor Detail
-
HwvtepReconciliationTask
public HwvtepReconciliationTask(ReconciliationManager reconciliationManager, HwvtepConnectionManager connectionManager, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> nodeId, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node psNode, HwvtepConnectionInstance connectionInstance, org.opendaylight.mdsal.binding.api.DataBroker db)
-
-
Method Detail
-
reconcileConfiguration
public boolean reconcileConfiguration(HwvtepConnectionManager connectionManagerOfDevice)
Description copied from class:ReconciliationTask
Method contains task reconciliation logic. Please refer toConnectionReconciliationTask.reconcileConfiguration(HwvtepConnectionManager)
for example.- Specified by:
reconcileConfiguration
in classReconciliationTask
- Parameters:
connectionManagerOfDevice
- Connection manager to get connection instance of the device- Returns:
- True if reconciliation was successful, else false
-
doRetry
public void doRetry(boolean wasPreviousAttemptSuccessful)
Description copied from class:ReconciliationTask
Extended task should implement the logic that decides whether retry for the task is required or not. If retry is required but it does not requires any delay, submit the task immediately usingReconciliationManager.enqueue(ReconciliationTask)
. If retry requires delay, useReconciliationManager.enqueueForRetry(ReconciliationTask)
and specify the delay usingReconciliationTask.retryDelayInMills()
. If data store operation is required to decide if the task need retry, please implement it as an async operation and submit the task on the callback of the future.Note:Please do not write blocking data store operations
ConnectionReconciliationTask.doRetry(boolean)
- Specified by:
doRetry
in classReconciliationTask
- Parameters:
wasPreviousAttemptSuccessful
- Status of the previous attempt
-
checkReadinessAndProcess
public void checkReadinessAndProcess()
Description copied from class:ReconciliationTask
Extended task should implement the logic that check the readiness of the task for execution. If task is ready for the execution, submit it for immediate execution usingReconciliationManager.enqueue(ReconciliationTask)
. If task is not ready for execution yet, enqueue it again for delayed execution usingReconciliationManager.enqueueForRetry(ReconciliationTask)
. To check the readiness of the task, if the data store operation is required, please implement it as an async operation and submit the task on the callback of the future.Note:Please do not write blocking data store operations
ConnectionReconciliationTask.doRetry(boolean)
- Specified by:
checkReadinessAndProcess
in classReconciliationTask
-
retryDelayInMills
public long retryDelayInMills()
Description copied from class:ReconciliationTask
Method returns the time interval for retrying the failed task.ReconciliationTask.doRetry(boolean)
- Specified by:
retryDelayInMills
in classReconciliationTask
- Returns:
- time
-
-