Packages

abstract class Synchronized[A] extends Ref[A]

A Ref.Synchronized is a purely functional description of a mutable reference. The fundamental operations of a Ref.Synchronized are set and get. set sets the reference to a new value. get gets the current value of the reference.

Unlike an ordinary Ref, a Ref.Synchronized allows performing effects within update operations, at some cost to performance. Writes will semantically block other writers, while multiple readers can read simultaneously.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Synchronized
  2. Ref
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Synchronized()

Abstract Value Members

  1. abstract def get(implicit trace: Trace): UIO[A]

    Reads the value from the Ref.

    Reads the value from the Ref.

    Definition Classes
    SynchronizedRef
  2. abstract def modifyZIO[R, E, B](f: (A) => ZIO[R, E, (B, A)])(implicit trace: Trace): ZIO[R, E, B]

    Atomically modifies the Ref.Synchronized with the specified function, which computes a return value for the modification.

    Atomically modifies the Ref.Synchronized with the specified function, which computes a return value for the modification. This is a more powerful version of update.

  3. abstract def set(a: A)(implicit trace: Trace): UIO[Unit]

    Writes a new value to the Ref, with a guarantee of immediate consistency (at some cost to performance).

    Writes a new value to the Ref, with a guarantee of immediate consistency (at some cost to performance).

    Definition Classes
    SynchronizedRef
  4. abstract def setAsync(a: A)(implicit trace: Trace): UIO[Unit]

    Writes a new value to the Ref without providing a guarantee of immediate consistency.

    Writes a new value to the Ref without providing a guarantee of immediate consistency.

    Definition Classes
    SynchronizedRef

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def addAndGet(delta: A)(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically adds delta to the current value of the Ref and returns the updated value.

    Atomically adds delta to the current value of the Ref and returns the updated value.

    Definition Classes
    Ref
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def decrementAndGet(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically decrements the current value of the Ref by 1 and returns the updated value.

    Atomically decrements the current value of the Ref by 1 and returns the updated value.

    Definition Classes
    Ref
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getAndAdd(delta: A)(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically adds delta to the current value of the Ref, returning the value immediately before modification.

    Atomically adds delta to the current value of the Ref, returning the value immediately before modification.

    Definition Classes
    Ref
  11. final def getAndDecrement(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically decrements the current value of the Ref by 1, returning the value immediately before modification.

    Atomically decrements the current value of the Ref by 1, returning the value immediately before modification.

    Definition Classes
    Ref
  12. final def getAndIncrement(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically increments the current value of the Ref by 1, returning the value immediately before modification.

    Atomically increments the current value of the Ref by 1, returning the value immediately before modification.

    Definition Classes
    Ref
  13. def getAndSet(a: A)(implicit trace: Trace): UIO[A]

    Atomically writes the specified value to the Ref, returning the value immediately before modification.

    Atomically writes the specified value to the Ref, returning the value immediately before modification.

    Definition Classes
    Ref
  14. def getAndUpdate(f: (A) => A)(implicit trace: Trace): UIO[A]

    Atomically modifies the Ref with the specified function, returning the value immediately before modification.

    Atomically modifies the Ref with the specified function, returning the value immediately before modification.

    Definition Classes
    Ref
  15. def getAndUpdateSome(pf: PartialFunction[A, A])(implicit trace: Trace): UIO[A]

    Atomically modifies the Ref with the specified partial function, returning the value immediately before modification.

    Atomically modifies the Ref with the specified partial function, returning the value immediately before modification. If the function is undefined on the current value it doesn't change it.

    Definition Classes
    Ref
  16. def getAndUpdateSomeZIO[R, E](pf: PartialFunction[A, ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, A]

    Atomically modifies the Ref.Synchronized with the specified partial function, returning the value immediately before modification.

    Atomically modifies the Ref.Synchronized with the specified partial function, returning the value immediately before modification. If the function is undefined on the current value it doesn't change it.

  17. def getAndUpdateZIO[R, E](f: (A) => ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Atomically modifies the Ref.Synchronized with the specified function, returning the value immediately before modification.

  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def incrementAndGet(implicit num: Numeric[A], trace: Trace): UIO[A]

    Atomically increments the current value of the Ref by 1 and returns the updated value.

    Atomically increments the current value of the Ref by 1 and returns the updated value.

    Definition Classes
    Ref
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def modify[B](f: (A) => (B, A))(implicit trace: Trace): UIO[B]

    Atomically modifies the Ref with the specified function, which computes a return value for the modification.

    Atomically modifies the Ref with the specified function, which computes a return value for the modification. This is a more powerful version of update.

    Definition Classes
    SynchronizedRef
  23. def modifySome[B](default: B)(pf: PartialFunction[A, (B, A)])(implicit trace: Trace): UIO[B]

    Atomically modifies the Ref with the specified partial function, which computes a return value for the modification if the function is defined on the current value otherwise it returns a default value.

    Atomically modifies the Ref with the specified partial function, which computes a return value for the modification if the function is defined on the current value otherwise it returns a default value. This is a more powerful version of updateSome.

    Definition Classes
    Ref
  24. def modifySomeZIO[R, E, B](default: B)(pf: PartialFunction[A, ZIO[R, E, (B, A)]])(implicit trace: Trace): ZIO[R, E, B]

    Atomically modifies the Ref.Synchronized with the specified function, which computes a return value for the modification if the function is defined in the current value otherwise it returns a default value.

    Atomically modifies the Ref.Synchronized with the specified function, which computes a return value for the modification if the function is defined in the current value otherwise it returns a default value. This is a more powerful version of updateSome.

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. def update(f: (A) => A)(implicit trace: Trace): UIO[Unit]

    Atomically modifies the Ref with the specified function.

    Atomically modifies the Ref with the specified function.

    Definition Classes
    Ref
  31. def updateAndGet(f: (A) => A)(implicit trace: Trace): UIO[A]

    Atomically modifies the Ref with the specified function and returns the updated value.

    Atomically modifies the Ref with the specified function and returns the updated value.

    Definition Classes
    Ref
  32. def updateAndGetZIO[R, E](f: (A) => ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Atomically modifies the Ref.Synchronized with the specified function, returning the value immediately after modification.

  33. def updateSome(pf: PartialFunction[A, A])(implicit trace: Trace): UIO[Unit]

    Atomically modifies the Ref with the specified partial function.

    Atomically modifies the Ref with the specified partial function. If the function is undefined on the current value it doesn't change it.

    Definition Classes
    Ref
  34. def updateSomeAndGet(pf: PartialFunction[A, A])(implicit trace: Trace): UIO[A]

    Atomically modifies the Ref with the specified partial function.

    Atomically modifies the Ref with the specified partial function. If the function is undefined on the current value it returns the old value without changing it.

    Definition Classes
    Ref
  35. def updateSomeAndGetZIO[R, E](pf: PartialFunction[A, ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, A]

    Atomically modifies the Ref.Synchronized with the specified partial function.

    Atomically modifies the Ref.Synchronized with the specified partial function. If the function is undefined on the current value it returns the old value without changing it.

  36. def updateSomeZIO[R, E](pf: PartialFunction[A, ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Unit]

    Atomically modifies the Ref.Synchronized with the specified partial function.

    Atomically modifies the Ref.Synchronized with the specified partial function. If the function is undefined on the current value it doesn't change it.

  37. def updateZIO[R, E](f: (A) => ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, Unit]

    Atomically modifies the Ref.Synchronized with the specified function.

  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Ref[A]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped