def serve.socket.for

gralha-http-server@0.1.0.0 · server.bend:161

import gralha-http-server@0.1.0.0/server.bend as Server
import Base
import gralha-http-core@0.1.0.0/http.bend as Http

161def serve.socket.for(~S: Type, ~reply: Socket -> Http.Request -> S -> IO(S),
162  n: Nat, listener: Listener, state: S, +max: U32) -> IO(Listener & S):
163  match n:
164    case 0n:
165      IO.pure(Listener & S, (listener, state))
166    case 1n+p:
167      do IO<Listener & S>:
168        got : Listener & S <- step.socket(~S, ~reply, listener, state, max)
169        loop.next(S, got, l => s => serve.socket.for(~S, ~reply, p, l, s, max))

Uses (12)

Used by (0)

No other definition uses this definition.