Package

zio

Permalink

package zio

Linear Supertypes
DurationModule, VersionSpecific, IntersectionTypeCompat, EitherCompat, BuildFromCompat, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. zio
  2. DurationModule
  3. VersionSpecific
  4. IntersectionTypeCompat
  5. EitherCompat
  6. BuildFromCompat
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type &[+A, +B] = A with B

    Permalink
    Definition Classes
    IntersectionTypeCompat
  2. abstract class =!=[A, B] extends Serializable

    Permalink

    Evidence type A is not equal to type B.

    Evidence type A is not equal to type B.

    Based on https://github.com/milessabin/shapeless.

    Annotations
    @implicitNotFound( "${A} must not be ${B}" )
  3. type BuildFrom[-From, -A, +C] = CanBuildFrom[From, A, C]

    Permalink
    Definition Classes
    BuildFromCompat
  4. implicit class BuildFromOps[From, A, C] extends AnyRef

    Permalink
    Definition Classes
    BuildFromCompat
  5. trait Cached[+Error, +Resource] extends AnyRef

    Permalink

    A Cached is a possibly resourceful value that is loaded into memory, and which can be refreshed either manually or automatically.

  6. sealed abstract class CanFail[-E] extends AnyRef

    Permalink

    A value of type CanFail[E] provides implicit evidence that an effect with error type E can fail, that is, that E is not equal to Nothing.

    A value of type CanFail[E] provides implicit evidence that an effect with error type E can fail, that is, that E is not equal to Nothing.

    Annotations
    @implicitNotFound( ... )
  7. abstract class CancelableFuture[+A] extends Future[A] with FutureTransformCompat[A]

    Permalink
  8. sealed abstract class Cause[+E] extends Product with Serializable

    Permalink
  9. sealed abstract class Chunk[+A] extends ChunkLike[A] with Serializable

    Permalink

    A Chunk[A] represents a chunk of values of type A.

    A Chunk[A] represents a chunk of values of type A. Chunks are designed are usually backed by arrays, but expose a purely functional, safe interface to the underlying elements, and they become lazy on operations that would be costly with arrays, such as repeated concatenation.

    The implementation of balanced concatenation is based on the one for Conc-Trees in "Conc-Trees for Functional and Parallel Programming" by Aleksandar Prokopec and Martin Odersky. http://aleksandar-prokopec.com/resources/docs/lcpc-conc-trees.pdf

    NOTE: For performance reasons Chunk does not box primitive types. As a result, it is not safe to construct chunks from heterogeneous primitive types.

  10. sealed abstract class ChunkBuilder[A] extends Builder[A, Chunk[A]]

    Permalink

    A ChunkBuilder[A] can build a Chunk[A] given elements of type A.

    A ChunkBuilder[A] can build a Chunk[A] given elements of type A. ChunkBuilder is a mutable data structure that is implemented to efficiently build chunks of unboxed primitives and for compatibility with the Scala collection library.

  11. sealed abstract class ChunkCanBuildFrom[A] extends CanBuildFrom[Chunk[Any], A, Chunk[A]]

    Permalink

    ChunkCanBuildFrom provides implicit evidence that a collection of type Chunk[A] can be built from elements of type A.

    ChunkCanBuildFrom provides implicit evidence that a collection of type Chunk[A] can be built from elements of type A. Since a Chunk[A] can be built from elements of type A for any type A, this implicit evidence always exists. It is used primarily to provide proof that the target type of a collection operation is a Chunk to support high performance implementations of transformation operations for chunks.

  12. trait Clock extends Serializable

    Permalink
  13. trait Console extends Serializable

    Permalink
  14. trait Dequeue[+A] extends Serializable

    Permalink

    A queue that can only be dequeued.

  15. trait Differ[Value, Patch] extends Serializable

    Permalink

    A Differ[Value, Patch] knows how to compare an old value and new value of type Value to produce a patch of type Patch that describes the differences between those values.

    A Differ[Value, Patch] knows how to compare an old value and new value of type Value to produce a patch of type Patch that describes the differences between those values. A Differ also knows how to apply a patch to an old value to produce a new value that represents the old value updated with the changes described by the patch.

    A Differ can be used to construct a FiberRef supporting compositional updates using the FiberRef.makePatch constructor.

    The Differ companion object contains constructors for Differ values for common data types such as Chunk, Map, and Set. In addition, Differ values can be transformed using the transform operator and combined using the orElseEither and zip operators. This allows creating Differ values for arbitrarily complex data types compositionally.

  16. type Duration = java.time.Duration

    Permalink
    Definition Classes
    DurationModule
  17. trait DurationModule extends AnyRef

    Permalink
  18. final class DurationOps extends AnyVal

    Permalink
  19. final class DurationSyntax extends AnyVal

    Permalink
  20. trait EitherCompat extends AnyRef

    Permalink
  21. implicit final class EitherOps[E, A] extends AnyRef

    Permalink
    Definition Classes
    EitherCompat
  22. trait Enqueue[-A] extends Serializable

    Permalink

    A queue that can only be enqueued.

  23. type EnvironmentTag[A] = izumi.reflect.Tag[A]

    Permalink
    Definition Classes
    VersionSpecific
  24. sealed abstract class ExecutionStrategy extends AnyRef

    Permalink

    Describes a strategy for evaluating multiple effects, potentially in parallel.

    Describes a strategy for evaluating multiple effects, potentially in parallel. There are three possible execution strategies: Sequential, Parallel, and ParallelN.

  25. abstract class Executor extends ExecutorPlatformSpecific

    Permalink

    An executor is responsible for executing actions.

    An executor is responsible for executing actions. Each action is guaranteed to begin execution on a fresh stack frame.

  26. sealed trait Exit[+E, +A] extends ZIO[Any, E, A]

    Permalink

    An Exit[E, A] describes the result of executing an IO value.

    An Exit[E, A] describes the result of executing an IO value. The result is either succeeded with a value A, or failed with a Cause[E].

  27. final case class ExitCode(code: Int) extends Product with Serializable

    Permalink
  28. sealed abstract class Fiber[+E, +A] extends AnyRef

    Permalink

    A fiber is a lightweight thread of execution that never consumes more than a whole thread (but may consume much less, depending on contention and asynchronicity).

    A fiber is a lightweight thread of execution that never consumes more than a whole thread (but may consume much less, depending on contention and asynchronicity). Fibers are spawned by forking ZIO effects, which run concurrently with the parent effect.

    Fibers can be joined, yielding their result to other fibers, or interrupted, which terminates the fiber, safely releasing all resources.

    def parallel[A, B](io1: Task[A], io2: Task[B]): Task[(A, B)] =
      for {
        fiber1 <- io1.fork
        fiber2 <- io2.fork
        a      <- fiber1.join
        b      <- fiber2.join
      } yield (a, b)
  29. final case class FiberFailure(cause: Cause[Any]) extends Throwable with Product with Serializable

    Permalink

    Represents a failure in a fiber.

    Represents a failure in a fiber. This could be caused by some non- recoverable error, such as a defect or system error, by some typed error, or by interruption (or combinations of all of the above).

    This class is used to wrap ZIO failures into something that can be thrown, to better integrate with Scala exception handling.

  30. sealed trait FiberId extends Serializable

    Permalink

    The identity of a Fiber, described by the time it began life, and a monotonically increasing sequence number generated from an atomic counter.

  31. trait FiberRef[A] extends Serializable

    Permalink

    A FiberRef is ZIO's equivalent of Java's ThreadLocal.

    A FiberRef is ZIO's equivalent of Java's ThreadLocal. The value of a FiberRef is automatically propagated to child fibers when they are forked and merged back in to the value of the parent fiber after they are joined.

    for {
      fiberRef <- FiberRef.make("Hello world!")
      child    <- fiberRef.set("Hi!).fork
      result   <- child.join
    } yield result

    Here result will be equal to "Hi!" since changed made by a child fiber are merged back in to the value of the parent fiber on join.

    By default the value of the child fiber will replace the value of the parent fiber on join but you can specify your own logic for how values should be merged.

    for {
      fiberRef <- FiberRef.make(0, math.max)
      child    <- fiberRef.update(_ + 1).fork
      _        <- fiberRef.update(_ + 2)
      _        <- child.join
      value    <- fiberRef.get
    } yield value

    Here value will be 2 as the value in the joined fiber is lower and we specified max as our combining function.

  32. final class FiberRefs extends AnyRef

    Permalink

    FiberRefs is a data type that represents a collection of FiberRef values.

    FiberRefs is a data type that represents a collection of FiberRef values. This allows safely propagating FiberRef values across fiber boundaries, for example between an asynchronous producer and consumer.

  33. abstract class Hub[A] extends Enqueue[A]

    Permalink

    A Hub is an asynchronous message hub.

    A Hub is an asynchronous message hub. Publishers can offer messages to the hub and subscribers can subscribe to take messages from the hub.

  34. type IO[+E, +A] = ZIO[Any, E, A]

    Permalink
  35. sealed abstract class InterruptStatus extends Serializable with Product

    Permalink

    The InterruptStatus of a fiber determines whether or not it can be interrupted.

    The InterruptStatus of a fiber determines whether or not it can be interrupted. The status can change over time in different regions.

    If a fiber is interruptible but in wind-down mode, then it cannot be interrupted no matter what. The InterruptStatus of a fiber reflects only whether it is within an interruptible or uninterruptible region, regardless of wind-down mode.

  36. sealed abstract class IsSubtypeOfError[-A, +B] extends (A) ⇒ B with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... )
  37. sealed abstract class IsSubtypeOfOutput[-A, +B] extends (A) ⇒ B with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... )
  38. type Layer[+E, +ROut] = ZLayer[Any, E, ROut]

    Permalink
  39. type LightTypeTag = izumi.reflect.macrortti.LightTypeTag

    Permalink
    Definition Classes
    VersionSpecific
  40. final case class LogAnnotation(key: String, value: String) extends Product with Serializable

    Permalink

    A LogAnnotation represents a key value pair that allows annotating logs with additional information.

  41. final case class LogLevel(ordinal: Int, label: String, syslog: Int) extends ZIOAspect[Nothing, Any, Nothing, Any, Nothing, Any] with Product with Serializable

    Permalink

    LogLevel represents the log level associated with an individual logging operation.

    LogLevel represents the log level associated with an individual logging operation. Log levels are used both to describe the granularity (or importance) of individual log statements, as well as to enable tuning verbosity of log output.

    ordinal

    The priority of the log message. Larger values indicate higher priority.

    label

    A label associated with the log level.

    syslog

    The syslog severity level of the log level. LogLevel values are ZIO aspects, and therefore can be used with aspect syntax.

    myEffect @@ LogLevel.Info
  42. final case class LogSpan(label: String, startTime: Long) extends Product with Serializable

    Permalink
  43. final class MakePartiallyApplied[R] extends AnyVal

    Permalink
  44. final class MakeSomePartiallyApplied[R0, R] extends AnyVal

    Permalink
  45. final class NonEmptyChunk[+A] extends AnyRef

    Permalink

    A NonEmptyChunk is a Chunk that is guaranteed to contain at least one element.

    A NonEmptyChunk is a Chunk that is guaranteed to contain at least one element. As a result, operations which would not be safe when performed on Chunk, such as head or reduce, are safe when performed on NonEmptyChunk. Operations on NonEmptyChunk which could potentially return an empty chunk will return a Chunk instead.

  46. final class Promise[E, A] extends Serializable

    Permalink

    A promise represents an asynchronous variable, of zio.ZIO type, that can be set exactly once, with the ability for an arbitrary number of fibers to suspend (by calling await) and automatically resume when the variable is set.

    A promise represents an asynchronous variable, of zio.ZIO type, that can be set exactly once, with the ability for an arbitrary number of fibers to suspend (by calling await) and automatically resume when the variable is set.

    Promises can be used for building primitive actions whose completions require the coordinated action of multiple fibers, and for building higher-level concurrent or asynchronous structures.

    for {
      promise <- Promise.make[Nothing, Int]
      _       <- promise.succeed(42).delay(1.second).fork
      value   <- promise.await // Resumes when forked fiber completes promise
    } yield value
  47. final class ProvideSomeLayerPartiallyApplied[R0, -R, +E, +A] extends AnyVal

    Permalink
  48. abstract class Queue[A] extends Dequeue[A] with Enqueue[A]

    Permalink

    A Queue is a lightweight, asynchronous queue into which values can be enqueued and of which elements can be dequeued.

  49. type RIO[-R, +A] = ZIO[R, Throwable, A]

    Permalink
  50. type RLayer[-RIn, +ROut] = ZLayer[RIn, Throwable, ROut]

    Permalink
  51. trait Random extends Serializable

    Permalink
  52. abstract class Ref[A] extends Serializable

    Permalink

    A Ref is a purely functional description of a mutable reference.

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

    By default, Ref is implemented in terms of compare and swap operations for maximum performance and does not support performing effects within update operations. If you need to perform effects within update operations you can create a Ref.Synchronized, a specialized type of Ref that supports performing effects within update operations at some cost to performance. In this case writes will semantically block other writers, while multiple readers can read simultaneously.

    NOTE: While Ref provides the functional equivalent of a mutable reference, the value inside the Ref should normally be immutable since compare and swap operations are not safe for mutable values that do not support concurrent access. If you do need to use a mutable value Ref.Synchronized will guarantee that access to the value is properly synchronized.

  53. final case class Reloadable[Service](scopedRef: ScopedRef[Service], reload: IO[Any, Unit]) extends Product with Serializable

    Permalink

    A Reloadable is an implementation of some service that can be dynamically reloaded, or swapped out for another implementation on-the-fly.

  54. trait Runtime[+R] extends AnyRef

    Permalink

    A Runtime[R] is capable of executing tasks within an environment R.

  55. sealed trait RuntimeFlag extends AnyRef

    Permalink

    A RuntimeFlag is a flag that can be set to enable or disable a particular feature of the ZIO runtime.

  56. type RuntimeFlags = Int

    Permalink
  57. trait Schedule[-Env, -In, +Out] extends Serializable

    Permalink

    A Schedule[Env, In, Out] defines a recurring schedule, which consumes values of type In, and which returns values of type Out.

    A Schedule[Env, In, Out] defines a recurring schedule, which consumes values of type In, and which returns values of type Out.

    Schedules are defined as a possibly infinite set of intervals spread out over time. Each interval defines a window in which recurrence is possible.

    When schedules are used to repeat or retry effects, the starting boundary of each interval produced by a schedule is used as the moment when the effect will be executed again.

    Schedules compose in the following primary ways:

    * Union. This performs the union of the intervals of two schedules. * Intersection. This performs the intersection of the intervals of two schedules. * Sequence. This concatenates the intervals of one schedule onto another.

    In addition, schedule inputs and outputs can be transformed, filtered (to terminate a schedule early in response to some input or output), and so forth.

    A variety of other operators exist for transforming and combining schedules, and the companion object for Schedule contains all common types of schedules, both for performing retrying, as well as performing repetition.

  58. abstract class Scheduler extends AnyRef

    Permalink
  59. trait Scope extends Serializable

    Permalink

    A Scope is the foundation of safe, composable resource management in ZIO.

    A Scope is the foundation of safe, composable resource management in ZIO. A scope has two fundamental operators, addFinalizer, which adds a finalizer to the scope, and close, which closes a scope and runs all finalizers that have been added to the scope.

  60. trait ScopedRef[A] extends AnyRef

    Permalink

    A ScopedRef is a reference whose value is associated with resources, which must be released properly.

    A ScopedRef is a reference whose value is associated with resources, which must be released properly. You can both get the current value of any ScopedRef, as well as set it to a new value (which may require new resources). The reference itself takes care of properly releasing resources for the old value whenever a new value is obtained.

  61. sealed trait Semaphore extends Serializable

    Permalink

    An asynchronous semaphore, which is a generalization of a mutex.

    An asynchronous semaphore, which is a generalization of a mutex. Semaphores have a certain number of permits, which can be held and released concurrently by different parties. Attempts to acquire more permits than available result in the acquiring fiber being suspended until the specified number of permits become available.

  62. final case class StackTrace(fiberId: FiberId, stackTrace: Chunk[Trace]) extends Product with Serializable

    Permalink
  63. abstract class Supervisor[+A] extends AnyRef

    Permalink

    A Supervisor[A] is allowed to supervise the launching and termination of fibers, producing some visible value of type A from the supervision.

  64. trait System extends Serializable

    Permalink
  65. trait Tag[A] extends EnvironmentTag[A]

    Permalink
  66. type TagK[F[_]] = HKTag[AnyRef { type Arg[A] = F[A] }]

    Permalink
    Definition Classes
    VersionSpecific
  67. type TagK10[F[_, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9] }]

    Permalink
    Definition Classes
    VersionSpecific
  68. type TagK11[F[_, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10] }]

    Permalink
    Definition Classes
    VersionSpecific
  69. type TagK12[F[_, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11] }]

    Permalink
    Definition Classes
    VersionSpecific
  70. type TagK13[F[_, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12] }]

    Permalink
    Definition Classes
    VersionSpecific
  71. type TagK14[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13] }]

    Permalink
    Definition Classes
    VersionSpecific
  72. type TagK15[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14] }]

    Permalink
    Definition Classes
    VersionSpecific
  73. type TagK16[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15] }]

    Permalink
    Definition Classes
    VersionSpecific
  74. type TagK17[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16] }]

    Permalink
    Definition Classes
    VersionSpecific
  75. type TagK18[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17] }]

    Permalink
    Definition Classes
    VersionSpecific
  76. type TagK19[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18] }]

    Permalink
    Definition Classes
    VersionSpecific
  77. type TagK20[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19] }]

    Permalink
    Definition Classes
    VersionSpecific
  78. type TagK21[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20] }]

    Permalink
    Definition Classes
    VersionSpecific
  79. type TagK22[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21] }]

    Permalink
    Definition Classes
    VersionSpecific
  80. type TagK3[F[_, _, _]] = HKTag[AnyRef { type Arg[A, B, C] = F[A,B,C] }]

    Permalink
    Definition Classes
    VersionSpecific
  81. type TagK4[F[_, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3] = F[A0,A1,A2,A3] }]

    Permalink
    Definition Classes
    VersionSpecific
  82. type TagK5[F[_, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4] = F[A0,A1,A2,A3,A4] }]

    Permalink
    Definition Classes
    VersionSpecific
  83. type TagK6[F[_, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5] = F[A0,A1,A2,A3,A4,A5] }]

    Permalink
    Definition Classes
    VersionSpecific
  84. type TagK7[F[_, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6] = F[A0,A1,A2,A3,A4,A5,A6] }]

    Permalink
    Definition Classes
    VersionSpecific
  85. type TagK8[F[_, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7] = F[A0,A1,A2,A3,A4,A5,A6,A7] }]

    Permalink
    Definition Classes
    VersionSpecific
  86. type TagK9[F[_, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8] }]

    Permalink
    Definition Classes
    VersionSpecific
  87. type TagKK[F[_, _]] = HKTag[AnyRef { type Arg[A, B] = F[A,B] }]

    Permalink
    Definition Classes
    VersionSpecific
  88. trait TagVersionSpecific extends AnyRef

    Permalink
  89. type Task[+A] = ZIO[Any, Throwable, A]

    Permalink
  90. type TaskLayer[+ROut] = ZLayer[Any, Throwable, ROut]

    Permalink
  91. trait ThreadLocalBridge extends AnyRef

    Permalink
  92. type Trace = Type with Traced

    Permalink
  93. type UIO[+A] = ZIO[Any, Nothing, A]

    Permalink
  94. type ULayer[+ROut] = ZLayer[Any, Nothing, ROut]

    Permalink
  95. type URIO[-R, +A] = ZIO[R, Nothing, A]

    Permalink
  96. type URLayer[-RIn, +ROut] = ZLayer[RIn, Nothing, ROut]

    Permalink
  97. sealed trait Unsafe extends Serializable

    Permalink

    A marker interface used to indicate that a method is side-effecting, partial, or potentially type unsafe, such that it might throw a ClassCastException if used improperly.

    A marker interface used to indicate that a method is side-effecting, partial, or potentially type unsafe, such that it might throw a ClassCastException if used improperly. This marker interface is useful for certain low-level ZIO methods, to differentiate them from the higher-level methods, which are always pure, total, and type-safe.

    import Unsafe.unsafe
    
    unsafe { ... }
  98. trait Unzippable[A, B] extends AnyRef

    Permalink
  99. trait UnzippableLowPriority1 extends UnzippableLowPriority2

    Permalink
  100. trait UnzippableLowPriority2 extends UnzippableLowPriority3

    Permalink
  101. trait UnzippableLowPriority3 extends AnyRef

    Permalink
  102. final class ZEnvironment[+R] extends Serializable

    Permalink
  103. sealed trait ZIO[-R, +E, +A] extends Product with Serializable with ZIOPlatformSpecific[R, E, A] with ZIOVersionSpecific[R, E, A]

    Permalink

    A ZIO[R, E, A] value is an immutable value (called an "effect") that describes an async, concurrent workflow.

    A ZIO[R, E, A] value is an immutable value (called an "effect") that describes an async, concurrent workflow. In order to be executed, the workflow requires a value of type ZEnvironment[R], and when executed, the workflow will either produce a failure of type E, or a success of type A.

    ZIO effects may informally be thought of as functions of the following form:

    ZEnvironment[R] => Either[E, A]

    ZIO effects model resourceful interaction with the outside world, including synchronous, asynchronous, concurrent, and parallel interaction.

    The async and concurrent operations of ZIO effects are powered by fibers, which are lightweight, green threads that enable high scalability.

    To run an effect, you need a Runtime, which is capable of executing effects. Runtimes bundle a thread pool together with the environment that effects need.

  104. trait ZIOApp extends ZIOAppPlatformSpecific with ZIOAppVersionSpecific

    Permalink

    An entry point for a ZIO application that allows sharing layers between applications.

    An entry point for a ZIO application that allows sharing layers between applications. For a simpler version that uses the default ZIO environment see ZIOAppDefault.

  105. final case class ZIOAppArgs(getArgs: Chunk[String]) extends Product with Serializable

    Permalink

    A service that contains command-line arguments of an application.

  106. trait ZIOAppDefault extends ZIOApp

    Permalink

    The entry point for a ZIO application.

    The entry point for a ZIO application.

    import zio.ZIOAppDefault
    import zio.Console._
    
    object MyApp extends ZIOAppDefault {
    
      def run =
        for {
          _ <- printLine("Hello! What is your name?")
          n <- readLine
          _ <- printLine("Hello, " + n + ", good to meet you!")
        } yield ()
    }
  107. trait ZIOAppVersionSpecific extends AnyRef

    Permalink
  108. trait ZIOAspect[+LowerR, -UpperR, +LowerE, -UpperE, +LowerA, -UpperA] extends AnyRef

    Permalink
  109. trait ZIOCompanionVersionSpecific extends AnyRef

    Permalink
  110. trait ZInputStream extends AnyRef

    Permalink
  111. sealed abstract class ZLayer[-RIn, +E, +ROut] extends AnyRef

    Permalink

    A ZLayer[E, A, B] describes how to build one or more services in your application.

    A ZLayer[E, A, B] describes how to build one or more services in your application. Services can be injected into effects via ZIO#provide. Effects can require services via ZIO.service."

    Layer can be thought of as recipes for producing bundles of services, given their dependencies (other services).

    Construction of services can be effectful and utilize resources that must be acquired and safely released when the services are done being utilized.

    By default layers are shared, meaning that if the same layer is used twice the layer will only be allocated a single time.

    Because of their excellent composition properties, layers are the idiomatic way in ZIO to create services that depend on other services.

  112. trait ZLogger[-Message, +Output] extends AnyRef

    Permalink
  113. abstract type ZNothing <: Nothing

    Permalink
  114. trait ZOutputStream extends AnyRef

    Permalink
  115. trait ZPool[+Error, Item] extends AnyRef

    Permalink

    A ZPool[E, A] is a pool of items of type A, each of which may be associated with the acquisition and release of resources.

    A ZPool[E, A] is a pool of items of type A, each of which may be associated with the acquisition and release of resources. An attempt to get an item A from a pool may fail with an error of type E.

  116. sealed trait ZState[S] extends AnyRef

    Permalink

    ZState[S] models a value of type S that can be read from and written to during the execution of an effect.

    ZState[S] models a value of type S that can be read from and written to during the execution of an effect. The idiomatic way to work with ZState is as part of the environment using operators defined on ZIO. For example:

    final case class MyState(counter: Int)
    
    for {
      _     <- ZIO.updateState[MyState](state => state.copy(counter = state.counter + 1))
      count <- ZIO.getStateWith[MyState](_.counter)
    } yield count

    Because ZState is typically used as part of the environment, it is recommended to define your own state type S such as MyState above rather than using a type such as Int to avoid the risk of ambiguity.

    To run a stateful workflow, use the ZIO.stateful operator to allocate the initial state.

  117. trait Zippable[-A, -B] extends AnyRef

    Permalink
  118. trait ZippableLowPriority1 extends ZippableLowPriority2

    Permalink
  119. trait ZippableLowPriority2 extends ZippableLowPriority3

    Permalink
  120. trait ZippableLowPriority3 extends AnyRef

    Permalink

Value Members

  1. object =!= extends Serializable

    Permalink
  2. object BuildInfo extends Product with Serializable

    Permalink

    This object was generated by sbt-buildinfo.

  3. object Cached

    Permalink
  4. object CanFail extends CanFail[Any]

    Permalink
  5. object Cause extends Serializable

    Permalink
  6. object Chunk extends IndexedSeqFactory[Chunk] with ChunkFactory with ChunkPlatformSpecific with Serializable

    Permalink
  7. object ChunkBuilder

    Permalink
  8. object ChunkCanBuildFrom

    Permalink
  9. object ChunkLike

    Permalink
  10. object Clock extends ClockPlatformSpecific with Serializable

    Permalink
  11. object Console extends Serializable

    Permalink
  12. object DefaultServices

    Permalink
  13. object Differ extends Serializable

    Permalink
  14. object Duration

    Permalink
  15. lazy val EnvironmentTag: izumi.reflect.Tag.type

    Permalink
    Definition Classes
    VersionSpecific
  16. object ExecutionStrategy

    Permalink
  17. object Executor extends DefaultExecutors with Serializable

    Permalink
  18. object Exit extends Serializable

    Permalink
  19. object ExitCode extends Serializable

    Permalink
  20. object Fiber extends FiberPlatformSpecific

    Permalink
  21. object FiberId extends Serializable

    Permalink
  22. object FiberRef extends Serializable

    Permalink
  23. object FiberRefs

    Permalink
  24. object Hub extends Serializable

    Permalink
  25. object InterruptStatus extends Serializable

    Permalink
  26. object IsSubtypeOfError extends Serializable

    Permalink
  27. object IsSubtypeOfOutput extends Serializable

    Permalink
  28. object LogLevel extends Serializable

    Permalink
  29. object NonEmptyChunk

    Permalink
  30. object Promise extends Serializable

    Permalink
  31. object Queue extends Serializable

    Permalink
  32. object Random extends Serializable

    Permalink
  33. object Ref extends Serializable

    Permalink
  34. object Reloadable extends Serializable

    Permalink
  35. object Runtime extends RuntimePlatformSpecific

    Permalink
  36. object RuntimeFlag

    Permalink
  37. object RuntimeFlags

    Permalink

    Maintains a set of runtime flags.

    Maintains a set of runtime flags. Runtime flags affect the operation of the ZIO runtime system. They are exposed to application-level code because they affect the behavior and performance of application code.

    For more information on individual flags, see zio.RuntimeFlag.

  38. object Schedule extends Serializable

    Permalink
  39. object Scheduler

    Permalink
  40. object Scope extends Serializable

    Permalink
  41. object ScopedRef

    Permalink
  42. object Semaphore extends Serializable

    Permalink
  43. object StackTrace extends Serializable

    Permalink
  44. object Supervisor

    Permalink
  45. object System extends Serializable

    Permalink
  46. object Tag extends TagVersionSpecific with Serializable

    Permalink
  47. lazy val TagK: izumi.reflect.TagK.type

    Permalink
    Definition Classes
    VersionSpecific
  48. lazy val TagK3: izumi.reflect.TagK3.type

    Permalink
    Definition Classes
    VersionSpecific
  49. lazy val TagKK: izumi.reflect.TagKK.type

    Permalink
    Definition Classes
    VersionSpecific
  50. object ThreadLocalBridge

    Permalink
  51. object Trace

    Permalink
  52. object Unsafe extends UnsafeVersionSpecific with Serializable

    Permalink
  53. object Unzippable extends UnzippableLowPriority1

    Permalink
  54. object ZEnvironment extends Serializable

    Permalink
  55. object ZIO extends ZIOCompanionPlatformSpecific with ZIOCompanionVersionSpecific with Serializable

    Permalink
  56. object ZIOApp

    Permalink
  57. object ZIOAppArgs extends Serializable

    Permalink
  58. object ZIOAppDefault

    Permalink
  59. object ZIOAspect

    Permalink
  60. object ZInputStream

    Permalink
  61. object ZLayer extends ZLayerCompanionVersionSpecific

    Permalink
  62. object ZLogger

    Permalink
  63. object ZOutputStream

    Permalink
  64. object ZPool

    Permalink
  65. object ZState

    Permalink
  66. object Zippable extends ZippableLowPriority1

    Permalink
  67. implicit def duration2DurationOps(duration: Duration): DurationOps

    Permalink
    Definition Classes
    DurationModule
  68. implicit def durationInt(n: Int): DurationSyntax

    Permalink
    Definition Classes
    DurationModule
  69. implicit def durationLong(n: Long): DurationSyntax

    Permalink
    Definition Classes
    DurationModule
  70. implicit val durationOrdering: Ordering[Duration]

    Permalink
    Definition Classes
    DurationModule
  71. package internal

    Permalink
  72. package metrics

    Permalink
  73. package stm

    Permalink

Inherited from DurationModule

Inherited from VersionSpecific

Inherited from IntersectionTypeCompat

Inherited from EitherCompat

Inherited from BuildFromCompat

Inherited from AnyRef

Inherited from Any

Ungrouped