trait SubscriptionRef[A] extends Synchronized[A]
A SubscriptionRef[A]
is a Ref
that can be subscribed to in order to
receive the current value as well as all changes to the value.
- Alphabetic
- By Inheritance
- SubscriptionRef
- Synchronized
- Ref
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def changes: ZStream[Any, Nothing, A]
A stream containing the current value of the
Ref
as well as all changes to that value. - abstract def get(implicit trace: Trace): UIO[A]
Reads the value from the
Ref
.Reads the value from the
Ref
.- Definition Classes
- Synchronized → Ref
- 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 ofupdate
.- Definition Classes
- Synchronized
- 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
- Synchronized → Ref
- 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
- Synchronized → Ref
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def addAndGet(delta: A)(implicit num: Numeric[A], trace: Trace): UIO[A]
Atomically adds
delta
to the current value of theRef
and returns the updated value.Atomically adds
delta
to the current value of theRef
and returns the updated value.- Definition Classes
- Ref
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getAndAdd(delta: A)(implicit num: Numeric[A], trace: Trace): UIO[A]
Atomically adds
delta
to the current value of theRef
, returning the value immediately before modification.Atomically adds
delta
to the current value of theRef
, returning the value immediately before modification.- Definition Classes
- Ref
- 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
- 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
- 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
- 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
- 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
- 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.- Definition Classes
- Synchronized
- 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.Atomically modifies the
Ref.Synchronized
with the specified function, returning the value immediately before modification.- Definition Classes
- Synchronized
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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 ofupdate
.- Definition Classes
- Synchronized → Ref
- 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 ofupdateSome
.- Definition Classes
- Ref
- 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 ofupdateSome
.- Definition Classes
- Synchronized
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- 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
- 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.Atomically modifies the
Ref.Synchronized
with the specified function, returning the value immediately after modification.- Definition Classes
- Synchronized
- 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
- 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
- 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.- Definition Classes
- Synchronized
- 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.- Definition Classes
- Synchronized
- 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.Atomically modifies the
Ref.Synchronized
with the specified function.- Definition Classes
- Synchronized
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()