Hyperlinkv0.8.0-beta.28

Queue

Queue.boundedconsteffect/Queue.ts:491
<A, E = never>(capacity: number): Effect<Queue<A, E>>

Creates a bounded queue with the specified capacity that uses backpressure strategy.

Details

When the queue reaches capacity, producers will be suspended until space becomes available. This ensures all messages are processed but may slow down producers.

Example (Creating bounded queues)

import { Effect, Queue } from "effect"

const program = Effect.gen(function*() {
  const queue = yield* Queue.bounded<string>(5)

  // This will succeed as queue has capacity
  yield* Queue.offer(queue, "first")
  yield* Queue.offer(queue, "second")

  const size = yield* Queue.size(queue)
  console.log(size) // 2
})
constructors
Source effect/Queue.ts:4911 lines
export const bounded = <A, E = never>(capacity: number): Effect<Queue<A, E>> => make({ capacity })
Referenced by 2 symbols