X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fdevice%2FSimpleRatelimiter.java;h=cee15859cf9bc1b357698b5229d99a27c3b801be;hb=6be16cf9eb42e8c9010b21ae983a3401e8aa88cd;hp=eed1ccdecf3e212ddb78107fb1232041baf10a1f;hpb=e45c29eb32e6c46f618fc630734cdfb2ceef0e8d;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/SimpleRatelimiter.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/SimpleRatelimiter.java index eed1ccdecf..cee15859cf 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/SimpleRatelimiter.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/SimpleRatelimiter.java @@ -13,9 +13,9 @@ import javax.annotation.concurrent.GuardedBy; abstract class SimpleRatelimiter { private final AtomicInteger counter = new AtomicInteger(); - private final int lowWatermark; + private int lowWatermark; private int lowWatermarkEffective; - private final int highWatermark; + private int highWatermark; @GuardedBy("counter") private volatile boolean limited; @@ -87,4 +87,12 @@ abstract class SimpleRatelimiter { int getOccupiedPermits() { return counter.get(); } + + void changeWaterMarks(final int newLowWatermark, final int newHighWatermark) { + synchronized (counter) { + lowWatermark = newLowWatermark; + highWatermark = newHighWatermark; + resetLowWaterMark(); + } + } }