Class/Object

monix.execution.cancelables

OrderedCancelable

Related Docs: object OrderedCancelable | package cancelables

Permalink

final class OrderedCancelable extends Multi

Represents a Cancelable whose underlying cancelable reference can be swapped for another and that has the capability to force ordering of updates.

For the most part it's very similar with MultiAssignCancelable:

val s = OrderedCancelable()
s := c1 // sets the underlying cancelable to c1
s := c2 // swaps the underlying cancelable to c2

s.cancel() // also cancels c2

s := c3 // also cancels c3, because s is already canceled

However it also has the capability of doing orderedUpdate:

val s = OrderedCancelable()

ec.execute(new Runnable {
  def run() =
    s.orderedUpdate(ref2, 2)
})

// The ordered updates are guarding against reversed ordering
// due to the created thread being able to execute before the
// following update
s.orderedUpdate(ref1, 1)

Also see:

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OrderedCancelable
  2. Multi
  3. Bool
  4. BooleanCancelable
  5. AssignableCancelable
  6. Cancelable
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def :=(value: Cancelable): OrderedCancelable.this.type

    Permalink

    Updates the internal reference of this assignable cancelable to the given value.

    Updates the internal reference of this assignable cancelable to the given value.

    If this cancelable is already canceled, then value is going to be canceled on assignment as well.

    returns

    this

    Definition Classes
    OrderedCancelableAssignableCancelable
    Annotations
    @tailrec()
  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def cancel(): Unit

    Permalink

    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
    OrderedCancelableCancelable
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def currentOrder: Long

    Permalink

    Returns the current order index, useful for working with orderedUpdate in instances where the OrderedCancelable reference is shared.

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. def isCanceled: Boolean

    Permalink

    returns

    true in case this cancelable hasn't been canceled, or false otherwise.

    Definition Classes
    OrderedCancelableBooleanCancelable
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def orderedUpdate(value: Cancelable, order: Long): OrderedCancelable.this.type

    Permalink

    An ordered update is an update with an order attached and if the currently stored reference has on order that is greater than the update, then the update is ignored.

    An ordered update is an update with an order attached and if the currently stored reference has on order that is greater than the update, then the update is ignored.

    Useful to force ordering for concurrent updates.

    Annotations
    @tailrec()
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Multi

Inherited from Bool

Inherited from BooleanCancelable

Inherited from AssignableCancelable

Inherited from Cancelable

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped