Class DistributedMeterStore

  • All Implemented Interfaces:
    org.onosproject.net.meter.MeterStore, org.onosproject.store.Store<org.onosproject.net.meter.MeterEvent,​org.onosproject.net.meter.MeterStoreDelegate>

    public class DistributedMeterStore
    extends org.onosproject.store.AbstractStore<org.onosproject.net.meter.MeterEvent,​org.onosproject.net.meter.MeterStoreDelegate>
    implements org.onosproject.net.meter.MeterStore
    A distributed meter store implementation. Meters are stored consistently across the cluster.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ConcurrentMap<org.onosproject.net.meter.MeterTableKey,​org.onosproject.store.service.DistributedSet<org.onosproject.net.meter.MeterKey>> availableMeterIds  
      protected org.onosproject.net.driver.DriverService driverService  
      protected boolean userDefinedIndexMode  
      • Fields inherited from class org.onosproject.store.AbstractStore

        delegate
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activate()  
      CompletableFuture<org.onosproject.net.meter.MeterStoreResult> addOrUpdateMeter​(org.onosproject.net.meter.Meter meter)  
      org.onosproject.net.meter.MeterCellId allocateMeterId​(org.onosproject.net.DeviceId deviceId, org.onosproject.net.meter.MeterScope meterScope)  
      void deactivate()  
      CompletableFuture<org.onosproject.net.meter.MeterStoreResult> deleteMeter​(org.onosproject.net.meter.Meter meter)  
      org.onosproject.net.meter.MeterStoreResult deleteMeterFeatures​(Collection<org.onosproject.net.meter.MeterFeatures> meterfeatures)  
      org.onosproject.net.meter.MeterStoreResult deleteMeterFeatures​(org.onosproject.net.DeviceId deviceId)  
      void failedMeter​(org.onosproject.net.meter.MeterOperation op, org.onosproject.net.meter.MeterFailReason reason)  
      protected void freeMeterId​(org.onosproject.net.DeviceId deviceId, org.onosproject.net.meter.MeterCellId meterCellId)  
      void freeMeterId​(org.onosproject.net.DeviceId deviceId, org.onosproject.net.meter.MeterId meterId)  
      protected void freeMeterId​(org.onosproject.net.meter.MeterTableKey meterTableKey, org.onosproject.net.meter.MeterCellId meterCellId)  
      Collection<org.onosproject.net.meter.Meter> getAllMeters()  
      Collection<org.onosproject.net.meter.Meter> getAllMeters​(org.onosproject.net.DeviceId deviceId)  
      Collection<org.onosproject.net.meter.Meter> getAllMeters​(org.onosproject.net.DeviceId deviceId, org.onosproject.net.meter.MeterScope scope)  
      protected long getMaxMeters​(org.onosproject.net.meter.MeterTableKey key)  
      org.onosproject.net.meter.Meter getMeter​(org.onosproject.net.meter.MeterKey key)  
      void purgeMeter​(org.onosproject.net.meter.Meter m)  
      void purgeMeters​(org.onosproject.net.DeviceId deviceId)  
      void purgeMeters​(org.onosproject.net.DeviceId deviceId, org.onosproject.core.ApplicationId appId)  
      org.onosproject.net.meter.MeterStoreResult storeMeterFeatures​(Collection<org.onosproject.net.meter.MeterFeatures> meterfeatures)  
      org.onosproject.net.meter.MeterStoreResult storeMeterFeatures​(org.onosproject.net.meter.MeterFeatures meterfeatures)  
      org.onosproject.net.meter.Meter updateMeterState​(org.onosproject.net.meter.Meter meter)  
      boolean userDefinedIndexMode​(boolean enable)  
      • Methods inherited from class org.onosproject.store.AbstractStore

        hasDelegate, notifyDelegate, notifyDelegate, setDelegate, unsetDelegate
      • Methods inherited from interface org.onosproject.store.Store

        hasDelegate, setDelegate, unsetDelegate
    • Field Detail

      • availableMeterIds

        protected final ConcurrentMap<org.onosproject.net.meter.MeterTableKey,​org.onosproject.store.service.DistributedSet<org.onosproject.net.meter.MeterKey>> availableMeterIds
      • driverService

        protected org.onosproject.net.driver.DriverService driverService
      • userDefinedIndexMode

        protected boolean userDefinedIndexMode
    • Constructor Detail

      • DistributedMeterStore

        public DistributedMeterStore()
    • Method Detail

      • activate

        public void activate()
      • deactivate

        public void deactivate()
      • addOrUpdateMeter

        public CompletableFuture<org.onosproject.net.meter.MeterStoreResult> addOrUpdateMeter​(org.onosproject.net.meter.Meter meter)
        Specified by:
        addOrUpdateMeter in interface org.onosproject.net.meter.MeterStore
      • deleteMeter

        public CompletableFuture<org.onosproject.net.meter.MeterStoreResult> deleteMeter​(org.onosproject.net.meter.Meter meter)
        Specified by:
        deleteMeter in interface org.onosproject.net.meter.MeterStore
      • storeMeterFeatures

        public org.onosproject.net.meter.MeterStoreResult storeMeterFeatures​(org.onosproject.net.meter.MeterFeatures meterfeatures)
        Specified by:
        storeMeterFeatures in interface org.onosproject.net.meter.MeterStore
      • storeMeterFeatures

        public org.onosproject.net.meter.MeterStoreResult storeMeterFeatures​(Collection<org.onosproject.net.meter.MeterFeatures> meterfeatures)
        Specified by:
        storeMeterFeatures in interface org.onosproject.net.meter.MeterStore
      • deleteMeterFeatures

        public org.onosproject.net.meter.MeterStoreResult deleteMeterFeatures​(org.onosproject.net.DeviceId deviceId)
        Specified by:
        deleteMeterFeatures in interface org.onosproject.net.meter.MeterStore
      • deleteMeterFeatures

        public org.onosproject.net.meter.MeterStoreResult deleteMeterFeatures​(Collection<org.onosproject.net.meter.MeterFeatures> meterfeatures)
        Specified by:
        deleteMeterFeatures in interface org.onosproject.net.meter.MeterStore
      • updateMeterState

        public org.onosproject.net.meter.Meter updateMeterState​(org.onosproject.net.meter.Meter meter)
        Specified by:
        updateMeterState in interface org.onosproject.net.meter.MeterStore
      • getMeter

        public org.onosproject.net.meter.Meter getMeter​(org.onosproject.net.meter.MeterKey key)
        Specified by:
        getMeter in interface org.onosproject.net.meter.MeterStore
      • getAllMeters

        public Collection<org.onosproject.net.meter.Meter> getAllMeters()
        Specified by:
        getAllMeters in interface org.onosproject.net.meter.MeterStore
      • getAllMeters

        public Collection<org.onosproject.net.meter.Meter> getAllMeters​(org.onosproject.net.DeviceId deviceId)
        Specified by:
        getAllMeters in interface org.onosproject.net.meter.MeterStore
      • getAllMeters

        public Collection<org.onosproject.net.meter.Meter> getAllMeters​(org.onosproject.net.DeviceId deviceId,
                                                                        org.onosproject.net.meter.MeterScope scope)
        Specified by:
        getAllMeters in interface org.onosproject.net.meter.MeterStore
      • failedMeter

        public void failedMeter​(org.onosproject.net.meter.MeterOperation op,
                                org.onosproject.net.meter.MeterFailReason reason)
        Specified by:
        failedMeter in interface org.onosproject.net.meter.MeterStore
      • purgeMeter

        public void purgeMeter​(org.onosproject.net.meter.Meter m)
        Specified by:
        purgeMeter in interface org.onosproject.net.meter.MeterStore
      • purgeMeters

        public void purgeMeters​(org.onosproject.net.DeviceId deviceId)
        Specified by:
        purgeMeters in interface org.onosproject.net.meter.MeterStore
      • purgeMeters

        public void purgeMeters​(org.onosproject.net.DeviceId deviceId,
                                org.onosproject.core.ApplicationId appId)
        Specified by:
        purgeMeters in interface org.onosproject.net.meter.MeterStore
      • userDefinedIndexMode

        public boolean userDefinedIndexMode​(boolean enable)
        Specified by:
        userDefinedIndexMode in interface org.onosproject.net.meter.MeterStore
      • getMaxMeters

        protected long getMaxMeters​(org.onosproject.net.meter.MeterTableKey key)
      • allocateMeterId

        public org.onosproject.net.meter.MeterCellId allocateMeterId​(org.onosproject.net.DeviceId deviceId,
                                                                     org.onosproject.net.meter.MeterScope meterScope)
        Specified by:
        allocateMeterId in interface org.onosproject.net.meter.MeterStore
      • freeMeterId

        public void freeMeterId​(org.onosproject.net.DeviceId deviceId,
                                org.onosproject.net.meter.MeterId meterId)
        Specified by:
        freeMeterId in interface org.onosproject.net.meter.MeterStore
      • freeMeterId

        protected void freeMeterId​(org.onosproject.net.DeviceId deviceId,
                                   org.onosproject.net.meter.MeterCellId meterCellId)
      • freeMeterId

        protected void freeMeterId​(org.onosproject.net.meter.MeterTableKey meterTableKey,
                                   org.onosproject.net.meter.MeterCellId meterCellId)