SubscriptionRef

zio.stream.SubscriptionRef
See theSubscriptionRef companion object
sealed trait SubscriptionRef[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.

Attributes

Companion
object
Graph
Supertypes
class Synchronized[A]
class Ref[A]
trait Serializable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Abstract methods

def changes: ZStream[Any, Nothing, A]

A stream containing the current value of the Ref as well as all changes to that value.

A stream containing the current value of the Ref as well as all changes to that value.

Attributes

Inherited methods

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.

Attributes

Inherited from:
Ref
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.

Attributes

Inherited from:
Ref
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
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. If the function is undefined on the current value it doesn't change it.

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.

Attributes

Inherited from:
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. If the function is undefined on the current value it doesn't change it.

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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
Synchronized
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.

Attributes

Inherited from:
Ref
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. This is a more powerful version of update.

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

Attributes

Inherited from:
Synchronized
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. This is a more powerful version of updateSome.

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.

Attributes

Inherited from:
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. This is a more powerful version of updateSome.

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.

Attributes

Inherited from:
Synchronized
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
Synchronized
def updateSome(pf: PartialFunction[A, A])(implicit trace: Trace): UIO[Unit]

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

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

Attributes

Inherited from:
Ref
def updateSomeAndGet(pf: PartialFunction[A, A])(implicit trace: Trace): UIO[A]

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.

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.

Attributes

Inherited from:
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. If the function is undefined on the current value it returns the old value without changing it.

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.

Attributes

Inherited from:
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. If the function is undefined on the current value it doesn't change it.

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

Attributes

Inherited from:
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.

Attributes

Inherited from:
Synchronized

Inherited and Abstract methods

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

Reads the value from the Ref.

Reads the value from the Ref.

Attributes

Inherited from:
Synchronized
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. This is a more powerful version of update.

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.

Attributes

Inherited from:
Synchronized
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).

Attributes

Inherited from:
Synchronized
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.

Attributes

Inherited from:
Synchronized