Interface RCountDownLatchReactive

All Superinterfaces:
RObjectRx

public interface RCountDownLatchReactive extends RObjectRx
Reactive interface of Redis based CountDownLatch It has an advantage over CountDownLatch -- count can be set via trySetCount(long) method.
Author:
Nikita Koksharov
  • Method Details

    • await

      reactor.core.publisher.Mono<Void> await()
      Waits until counter reach zero.
      Returns:
      void
    • await

      reactor.core.publisher.Mono<Boolean> await(long waitTime, TimeUnit unit)
      Waits until counter reach zero or up to defined timeout.
      Parameters:
      waitTime - the maximum time to wait
      unit - the time unit
      Returns:
      true if the count reached zero and false if timeout reached before the count reached zero
    • countDown

      reactor.core.publisher.Mono<Void> countDown()
      Decrements the counter of the latch. Notifies all waiting threads when count reaches zero.
      Returns:
      void
    • getCount

      reactor.core.publisher.Mono<Long> getCount()
      Returns value of current count.
      Returns:
      the current count
    • trySetCount

      reactor.core.publisher.Mono<Boolean> trySetCount(long count)
      Sets new count value only if previous count already has reached zero or is not set at all.
      Parameters:
      count - - number of times countDown must be invoked before threads can pass through await
      Returns:
      true if new count setted false if previous count has not reached zero