def server.forever.go

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

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

449# the accept loop with no limit: it runs until the process is stopped
450@unsafe def server.forever.go(~C: Data, ~handle: C -> Req -> IO(Answer),
451  +ctx: C, +slots: Chan(Unit), +limited: Bool, +done: Chan(Unit),
452  listener: Listener) -> IO(Unit):
453  IO.bind(Listener & Step.Accept<Socket>, Unit, server.accept(listener),
454    r => server.loop.got(~C, handle, ctx, slots, limited, done, False{}, r,
455      l => server.forever.go(~C, handle, ctx, slots, limited, done, l),
456      l => server.forever.go(~C, handle, ctx, slots, limited, done, l),
457      l => server.forever.go(~C, handle, ctx, slots, limited, done, l)))

Uses (13)

Used by (1)