def server.slot.take

emerging-ezhttp@0.21.0.0 · src/server.bend:339

import emerging-ezhttp@0.21.0.0/src/server.bend as Server
import Base

339# take a slot, waiting while every one is taken
340def server.slot.take(+slots: Chan(Unit), limited: Bool) -> IO(Unit):
341  match limited:
342    case True{}:
343      IO.bind(Result<&1, &1, Unit, Unit>, Unit, Chan.send(Unit, slots, Unit{}),
344        _r => IO.pure(Unit, Unit{}))
345    case False{}:
346      IO.pure(Unit, Unit{})

Uses (8)

Used by (1)