def server.admitted
bend-kit-http@0.38.5.0 · http.bend:6403
import bend-kit-http@0.38.5.0/http.bend as Http
import Base
import bend-kit-http@0.38.5.0/admission.bend as Admission
6403def server.admitted(~C: Data, ~operation: C -> Limits -> Chan(Admission.Command) -> Socket -> IO(Unit), admitted: Bool, +context: C, +config: ServerConfig, +inbox: Chan(Admission.Command), drained: Chan(Admission.Counts), listener: Listener, socket: Socket) -> IO(Server<C> & Result<&1, &1, U32 & String, Chan(Unit)>):
6404 match admitted:
6405 case False{}:
6406 do IO<Server<C> & Result<&1, &1, U32 & String, Chan(Unit)>>:
6407 Socket.close(socket)
6408 return (Server{listener, context, config, inbox, drained}, Fail{(11, "transport capacity exhausted")})
6409 case True{}:
6410 do IO<Server<C> & Result<&1, &1, U32 & String, Chan(Unit)>>:
6411 finished : Chan(Unit) <- IO.fork(Unit, admission.done(inbox, operation(context, limits.config(config), inbox, socket)))
6412 return (Server{listener, context, config, inbox, drained}, Done{finished})