def cs.run

bendonnect-rpc@0.1.0.0 · src/transport/rpc.bend:164

import bendonnect-rpc@0.1.0.0/src/transport/rpc.bend as Rpc
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
import bendonnect-rpc@0.1.0.0/src/error.bend as E
import bendonnect-rpc@0.1.0.0/src/protocol.bend as P
import bendonnect-rpc@0.1.0.0/src/transport/server.bend as Srv

164def cs.run(~Req: Data, ~Res: Data, ~enc: @+codec: P.Codec -> Res -> Bytes.Bytes, ~impl: Ctx -> List<&2, Req> -> IO(Result<&1, &1, E.Error, Res>), ctx: Ctx, +codec: P.Codec, r: Result<&1, &1, E.Error, List<&2, Req>>) -> IO(Srv.Reply):
165  match r:
166    case Fail{e}:
167      reply_io(err_reply(e))
168    case Done{reqs}:
169      do IO<Srv.Reply>:
170        res : Result<&1, &1, E.Error, Res> <- impl(ctx, reqs)
171        return unary.reply(~Res, ~enc, codec, res)

Uses (13)

Used by (1)