effect-io-ai

Package: effect
Module: Queue

Queue.Queue.State

Tagged state of a Queue.

Details

Open queues can accept offers and takers, Closing queues are completing with a stored failure exit, and Done queues have finished. This is low-level metadata exposed by the queue model; most users should inspect queues through the public operations.

Signature

type State<A, E> = | {
      readonly _tag: "Open"
      readonly takers: Set<(_: Effect<void, E>) => void>
      readonly offers: Set<OfferEntry<A>>
      readonly awaiters: Set<(_: Effect<void, E>) => void>
    }
    | {
      readonly _tag: "Closing"
      readonly takers: Set<(_: Effect<void, E>) => void>
      readonly offers: Set<OfferEntry<A>>
      readonly awaiters: Set<(_: Effect<void, E>) => void>
      readonly exit: Failure<never, E>
    }
    | {
      readonly _tag: "Done"
      readonly exit: Failure<never, E>
    }

Source

Since v4.0.0