Hyperlinkv0.8.0-beta.28

Semaphore

Semaphore.resizeconsteffect/Semaphore.ts:351
(permits: number): (self: Semaphore) => Effect.Effect<void>
(self: Semaphore, permits: number): Effect.Effect<void>

Sets the total number of permits managed by the semaphore.

When to use

Use to change the concurrency limit of an existing semaphore while keeping current acquisitions in place.

Details

Existing acquisitions remain taken after resizing. If the new total is less than the currently taken permit count, new acquisitions wait until enough permits are released.

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