java.lang.Object
org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter<Meter>
org.opendaylight.openflowplugin.applications.frm.impl.MeterForwarder
All Implemented Interfaces:
AutoCloseable, org.opendaylight.mdsal.binding.api.DataTreeChangeListener<Meter>, ForwardingRulesCommiter<Meter>, org.opendaylight.serviceutils.srm.RecoverableListener

public class MeterForwarder extends AbstractListeningCommiter<Meter>
MeterForwarder It implements DataTreeChangeListener for WildCardedPath to Meter and ForwardingRulesCommiter interface for methods: add, update and remove Meter processing for DataTreeModification.
  • Field Summary

    Fields inherited from class org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter

    dataBroker
  • Constructor Summary

    Constructors
    Constructor
    Description
    MeterForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddMeterOutput>>
    add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter addDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
    Method adds the DataObject which is identified by InstanceIdentifier to device.
    void
    createStaleMarkEntity(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter del, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
    Method creates stale-marked DataObject which is identified by InstanceIdentifier from device.
    protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter>
    Method return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.
    void
    remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter 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<RemoveMeterOutput>>
    removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
     
    void
    update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter original, Meter 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

    close, deregisterListener, onDataTreeChanged, registerListener

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.opendaylight.mdsal.binding.api.DataTreeChangeListener

    onInitialData
  • Constructor Details

    • MeterForwarder

      public MeterForwarder(ForwardingRulesManager manager, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)
  • Method Details

    • getWildCardPath

      protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> getWildCardPath()
      Description copied from class: AbstractListeningCommiter
      Method return wildCardPath for Listener registration and for identify the correct KeyInstanceIdentifier from data.
      Specified by:
      getWildCardPath in class AbstractListeningCommiter<Meter>
    • remove

      public void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter 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 DataObject
      removeDataObj - - DataObject for removing
      nodeIdent - Node InstanceIdentifier
    • removeWithResult

      public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveMeterOutput>> removeWithResult(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter removeDataObj, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> nodeIdent)
    • update

      public void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter original, Meter 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 DataObject
      original - - original DataObject (for update)
      update - - changed DataObject (contain updates)
      nodeIdent - Node InstanceIdentifier
    • add

      public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddMeterOutput>> add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Meter> identifier, Meter 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 DataObject
      addDataObj - - new DataObject
      nodeIdent - 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<Meter> identifier, Meter 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 DataObject
      del - - DataObject removed. Stale-Mark object to be created from this object
      nodeIdent - Node InstanceIdentifier