Class TableForwarder
- java.lang.Object
-
- org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter<TableFeatures>
-
- org.opendaylight.openflowplugin.applications.frm.impl.TableForwarder
-
- All Implemented Interfaces:
AutoCloseable
,EventListener
,org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener<TableFeatures>
,org.opendaylight.mdsal.binding.api.DataTreeChangeListener<TableFeatures>
,ForwardingRulesCommiter<TableFeatures>
,org.opendaylight.serviceutils.srm.RecoverableListener
public class TableForwarder extends AbstractListeningCommiter<TableFeatures>
-
-
Field Summary
-
Fields inherited from class org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter
dataBroker, listenerRegistration, registrationHelper
-
-
Constructor Summary
Constructors Constructor Description TableForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker db, ListenerRegistrationHelper registrationHelper)
-
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<TableFeatures> identifier, TableFeatures addDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Method adds the DataObject which is identified by InstanceIdentifier to device.void
close()
void
createStaleMarkEntity(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Method creates stale-marked DataObject which is identified by InstanceIdentifier from device.void
deregisterListener()
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures>
getWildCardPath()
Method return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.void
remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Method removes DataObject which is identified by InstanceIdentifier from device.Future<? extends org.opendaylight.yangtools.yang.common.RpcResult<?>>
removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
void
update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures original, TableFeatures 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, registerListener
-
-
-
-
Constructor Detail
-
TableForwarder
public TableForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker db, ListenerRegistrationHelper registrationHelper)
-
-
Method Detail
-
deregisterListener
public void deregisterListener()
-
close
public void close()
-
getWildCardPath
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> getWildCardPath()
Description copied from class:AbstractListeningCommiter
Method return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.- Specified by:
getWildCardPath
in classAbstractListeningCommiter<TableFeatures>
-
remove
public void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiter
Method removes DataObject which is identified by InstanceIdentifier from device.- Parameters:
identifier
- - the whole path to DataObjectremoveDataObj
- - DataObject for removingnodeIdent
- Node InstanceIdentifier
-
update
public void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures original, TableFeatures update, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiter
Method 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<TableFeatures> identifier, TableFeatures addDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiter
Method 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.
null
is set to the future if this method does not invoke RPC.
-
createStaleMarkEntity
public void createStaleMarkEntity(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
Description copied from interface:ForwardingRulesCommiter
Method 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
-
removeWithResult
public Future<? extends org.opendaylight.yangtools.yang.common.RpcResult<?>> removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<TableFeatures> identifier, TableFeatures del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
-
-