Server.server.loop.got: def of emerging-ezhttp@0.22.0.0 Import: import emerging-ezhttp@0.22.0.0/src/server.bend as Server Lines 382-399 of emerging-ezhttp@0.22.0.0/src/server.bend: https://jend.leeeet.dev/read.txt?path=emerging-ezhttp@0.22.0.0/src/server.bend&start_line=382&end_line=399 import Base import emerging-ezhttp@0.22.0.0/src/step.bend as Step # what an accept brought, for the loop: `took` serves a connection and goes # on with one connection fewer, `idle` accepts again, `missed` logs, pauses # and goes on with one fewer (a failed accept counts toward the limit) def server.loop.got(~C: Data, ~handle: C -> Req -> IO(Answer), +ctx: C, +slots: Chan(Unit), +limited: Bool, +done: Chan(Unit), +tracked: Bool, r: Listener & Step.Accept, took: Listener -> IO(Unit), idle: Listener -> IO(Unit), missed: Listener -> IO(Unit)) -> IO(Unit): (lst, got) = r match got: case Step.Took{sock}: IO.bind(Unit, Unit, server.fork(~C, handle, ctx, sock, slots, limited, done, tracked), _u => took(lst)) case Step.Idle{}: idle(lst) case Step.Missed{line}: IO.bind(Unit, Unit, IO.print_err(line), _u => IO.bind(Unit, Unit, IO.sleep(server.pause()), _v => missed(lst))) Uses (16): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Chan https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.print_err https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.sleep https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Listener https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Socket https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=emerging-ezhttp@0.22.0.0/src/server.bend&name=Answer https://jend.leeeet.dev/definition.txt?path=emerging-ezhttp@0.22.0.0/src/server.bend&name=Req https://jend.leeeet.dev/definition.txt?path=emerging-ezhttp@0.22.0.0/src/server.bend&name=server.fork https://jend.leeeet.dev/definition.txt?path=emerging-ezhttp@0.22.0.0/src/server.bend&name=server.pause https://jend.leeeet.dev/definition.txt?path=emerging-ezhttp@0.22.0.0/src/step.bend&name=Accept