final class RefCountCancelable extends BooleanCancelable
Represents a Cancelable
that only executes the canceling logic when all
dependent cancelable objects have been canceled.
The given callback gets called after our RefCountCancelable
is canceled
and after all dependent cancelables have been canceled along with the
main cancelable.
In other words, lets say for example that we have acquired
2 children.
In order for the cancelable to get canceled, we need to:
- cancel both children
- cancel the main
RefCountCancelable
The implementation is thread-safe and cancellation order doesn't matter.
- Source
- RefCountCancelable.scala
- Alphabetic
- By Inheritance
- RefCountCancelable
- BooleanCancelable
- Cancelable
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
def
acquire(): Cancelable
Acquires a new Cancelable.
Acquires a new Cancelable.
- Annotations
- @tailrec()
-
def
cancel(): Unit
Cancels the unit of work represented by this reference.
Cancels the unit of work represented by this reference.
Guaranteed idempotency - calling it multiple times should have the same side-effect as calling it only once. Implementations of this method should also be thread-safe.
- Definition Classes
- RefCountCancelable → Cancelable
-
def
isCanceled: Boolean
- returns
true in case this cancelable hasn't been canceled, or false otherwise.
- Definition Classes
- RefCountCancelable → BooleanCancelable
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.types implements type-class shims, to be translated to type-classes provided by libraries such as Cats or Scalaz.
monix.cats is the optional integration with the Cats library, providing translations for the types described in
monix.types
.monix.scalaz is the optional integration with the Scalaz library, providing translations for the types described in
monix.types
.