Class FlowForwarder
- java.lang.Object
-
- org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter<Flow>
-
- org.opendaylight.openflowplugin.applications.frm.impl.FlowForwarder
-
- All Implemented Interfaces:
AutoCloseable,EventListener,org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener<Flow>,org.opendaylight.mdsal.binding.api.DataTreeChangeListener<Flow>,ForwardingRulesCommiter<Flow>,org.opendaylight.serviceutils.srm.RecoverableListener
public class FlowForwarder extends AbstractListeningCommiter<Flow>
-
-
Field Summary
-
Fields inherited from class org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter
dataBroker
-
-
Constructor Summary
Constructors Constructor Description FlowForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker db)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Future<? extends org.opendaylight.yangtools.yang.common.RpcResult<?>>add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow addDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)Method adds the DataObject which is identified by InstanceIdentifier to device.voidclose()voidcreateStaleMarkEntity(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)Method creates stale-marked DataObject which is identified by InstanceIdentifier from device.voidderegisterListener()protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow>getWildCardPath()Method return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.voidregisterListener()voidremove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)Method removes DataObject which is identified by InstanceIdentifier from device.com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveFlowOutput>>removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)voidupdate(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow original, Flow update, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)Method updates the original DataObject to the update DataObject in device.-
Methods inherited from class org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter
onDataTreeChanged
-
-
-
-
Constructor Detail
-
FlowForwarder
public FlowForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker db)
-
-
Method Detail
-
registerListener
public void registerListener()
-
deregisterListener
public void deregisterListener()
-
close
public void close()
-
remove
public void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiterMethod removes DataObject which is identified by InstanceIdentifier from device.- Parameters:
identifier- - the whole path to DataObjectremoveDataObj- - DataObject for removingnodeIdent- Node InstanceIdentifier
-
removeWithResult
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveFlowOutput>> removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
-
update
public void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow original, Flow update, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiterMethod updates the original DataObject to the update DataObject in device. Both are identified by same InstanceIdentifier- Parameters:
identifier- - the whole path to DataObjectoriginal- - original DataObject (for update)update- - changed DataObject (contain updates)nodeIdent- Node InstanceIdentifier
-
add
public Future<? extends org.opendaylight.yangtools.yang.common.RpcResult<?>> add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow addDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiterMethod adds the DataObject which is identified by InstanceIdentifier to device.- Parameters:
identifier- - the whole path to new DataObjectaddDataObj- - new DataObjectnodeIdent- Node InstanceIdentifier- Returns:
- A future associated with RPC task.
nullis set to the future if this method does not invoke RPC.
-
createStaleMarkEntity
public void createStaleMarkEntity(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> identifier, Flow del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiterMethod creates stale-marked DataObject which is identified by InstanceIdentifier from device.- Parameters:
identifier- - the whole path to DataObjectdel- - DataObject removed. Stale-Mark object to be created from this objectnodeIdent- Node InstanceIdentifier
-
getWildCardPath
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Flow> getWildCardPath()
Description copied from class:AbstractListeningCommiterMethod return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.- Specified by:
getWildCardPathin classAbstractListeningCommiter<Flow>
-
-