Package org.onlab.util
Class CountDownCompleter<T>
- java.lang.Object
-
- org.onlab.util.CountDownCompleter<T>
-
- Type Parameters:
T- object type
public final class CountDownCompleter<T> extends java.lang.ObjectA synchronization utility that defers invocation of aconsumercallback until a set number of actions tracked by alongcounter complete.Each completion is recorded by invoking the
countDownmethod. When the total number of completions is equal to the preset counter value, this instance is marked as completed and the callback invoked by supplying the object held by this instance.
-
-
Constructor Summary
Constructors Constructor Description CountDownCompleter(T object, long count, java.util.function.Consumer<T> onCompleteCallback)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcountDown()Records a single completion.booleanisComplete()Returns if this instance has completed.Tobject()Returns the object.
-
-
-
Constructor Detail
-
CountDownCompleter
public CountDownCompleter(T object, long count, java.util.function.Consumer<T> onCompleteCallback)
Constructor.- Parameters:
object- objectcount- total number of times countDown must be invoked for this completer to completeonCompleteCallback- callback to invoke when completer is completed
-
-
Method Detail
-
object
public T object()
Returns the object.- Returns:
- object
-
countDown
public void countDown()
Records a single completion.If this instance has already completed, this method has no effect
-
isComplete
public boolean isComplete()
Returns if this instance has completed.- Returns:
trueif completed
-
-