Hyperlinkv0.8.0-beta.28

Semaphore

Semaphore.takeconsteffect/Semaphore.ts:464
(permits: number): (self: Semaphore) => Effect.Effect<number>
(self: Semaphore, permits: number): Effect.Effect<number>

Acquires the specified number of permits and returns the acquired permit count.

When to use

Use when you need manual permit acquisition for a lower-level protocol with explicit acquisition and release control.

Details

The effect waits until enough permits are available.

export const take: {
  (permits: number): (self: Semaphore) => Effect.Effect<number>
  (self: Semaphore, permits: number): Effect.Effect<number>
} = dual(2, (self: Semaphore, permits: number) => self.take(permits))