Packages

trait Agent[F[_], A] extends SerialAgent[F, A]

A mutable atomic reference augmented with effectual operations. Can be thought as TF version of zio.RefM

Linear Supertypes
SerialAgent[F, A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Agent
  2. SerialAgent
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def fireUpdateM(f: (A) ⇒ F[A]): F[Unit]

    Enqueue transformation, return immediately.

    Enqueue transformation, return immediately.

    f

    function to atomically modify the Agent

    returns

    F[Unit]

  2. abstract def get: F[A]

    Reads the value from the SerialAgent.

    Reads the value from the SerialAgent.

    returns

    F[A] value from SerialAgent

    Definition Classes
    SerialAgent
  3. abstract def modifyM[B](f: (A) ⇒ F[(B, A)]): F[B]

    Modify value with effectful transformation, calculating result.

    Modify value with effectful transformation, calculating result.

    f

    function which computes a return value for the modification

    returns

    F[B] modified value of SerialAgent

    Definition Classes
    SerialAgent
  4. abstract def modifySomeM[B](default: B)(f: PartialFunction[A, F[(B, A)]]): F[B]

    Modifies the SerialAgent with the specified partial function, which computes a return value for the modification if the function is defined in the current value.

    Modifies the SerialAgent with the specified partial function, which computes a return value for the modification if the function is defined in the current value. Otherwise it returns a default value.

    default

    value to be returned if the partial function is not defined on the current value

    f

    partial function to modify the SerialAgent

    returns

    F[B] modified value of SerialAgent

    Definition Classes
    SerialAgent
    Note

    B => F[B] looks like tagless encoding of F[Option[B]] that we are choosing towards ZIO to simplify adoption

  5. abstract def updateM(f: (A) ⇒ F[A]): F[A]

    Update value with effectful transformation, wait for the new result

    Update value with effectful transformation, wait for the new result

    f

    function to atomically modify the SerialAgent

    returns

    F[A] modified value of SerialAgent

    Definition Classes
    SerialAgent
  6. abstract def updateSomeM(f: PartialFunction[A, F[A]]): F[A]

    Modifies the SerialAgent with the specified partial function.

    Modifies the SerialAgent with the specified partial function. If function is undefined on the current value it doesn't change it.

    f

    partial function to modify the SerialAgent

    returns

    F[A] modified value of SerialAgent

    Definition Classes
    SerialAgent

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

Inherited from SerialAgent[F, A]

Inherited from AnyRef

Inherited from Any

Ungrouped