commit | 9287b639aaf13948a4d8d33bda1f48319a30ef3f | [log] [tgz] |
---|---|---|
author | Jordi Ortiz <jordi.ortiz@um.es> | Thu Jun 22 11:01:37 2017 +0200 |
committer | Yuta HIGUCHI <y-higuchi@opennetworking.org> | Wed Jun 28 15:58:47 2017 +0000 |
tree | 6b562a138b245f1763b322e745202db08643d73e | |
parent | 38a1a1c24245edcd5a53450a3998a0339825e39c [diff] [blame] |
MeterManager optimiziation. Use entryset instead of keyset avoiding some store access, also add MeterStore getAllMeters(DeviceId). Change-Id: I8dac9558cdb8b5c758e0e402cd0724c6cae16daf
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java index 25276d5..cd0d707 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
@@ -273,6 +273,14 @@ } @Override + public Collection<Meter> getAllMeters(DeviceId deviceId) { + return Collections2.transform( + Collections2.filter(meters.asJavaMap().values(), + (MeterData m) -> m.meter().deviceId().equals(deviceId)), + MeterData::meter); + } + + @Override public void failedMeter(MeterOperation op, MeterFailReason reason) { MeterKey key = MeterKey.key(op.meter().deviceId(), op.meter().id()); meters.computeIfPresent(key, (k, v) ->