Packages

final class MultiAssignCancelable extends Multi

Represents a Cancelable whose underlying cancelable reference can be swapped for another.

Example:

val s = MultiAssignmentCancelable()
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

Also see:

  • SerialCancelable, which is similar, except that it cancels the old cancelable upon assigning a new cancelable
  • SingleAssignCancelable that is effectively a forward reference that can be assigned at most once
  • OrderedCancelable that's very similar with MultiAssignCancelable, but with the capability of forcing ordering on concurrent updates
Source
MultiAssignCancelable.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiAssignCancelable
  2. Multi
  3. Bool
  4. BooleanCancelable
  5. AssignableCancelable
  6. Cancelable
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def :=(value: Cancelable): MultiAssignCancelable.this.type

    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
    MultiAssignCancelableAssignableCancelable
    Annotations
    @tailrec()
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. 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
    MultiAssignCancelableCancelable
  7. def clear(): Cancelable

    Clears the underlying reference, setting it to a Cancelable.empty (if not cancelled).

    Clears the underlying reference, setting it to a Cancelable.empty (if not cancelled).

    This is equivalent with:

    ref := Cancelable.empty

    The purpose of this method is to release any underlying reference for GC purposes, however if the underlying reference is a dummy then the assignment doesn't happen because we don't care about releasing dummy references.

    Annotations
    @tailrec()
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def isCanceled: Boolean

    returns

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

    Definition Classes
    MultiAssignCancelableBooleanCancelable
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Multi

Inherited from Bool

Inherited from BooleanCancelable

Inherited from AssignableCancelable

Inherited from Cancelable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped