def work

bend-kit-camber@0.15.0.1 · camber.bend:148

import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base

148def work(~R: Type, ~P: Data, ~I: Data, ~E: Data, ~O: Data,
149  ~handler: R -> P -> I -> IO(R & Result<&2, &2, E, O>), ~destroy: R -> IO(Unit),
150  resource: R, principal: P, input: I,
151  messages: Chan(Message<R, P, I, E, O>), reply: Chan(Outcome<E, O>)
152) -> IO(Unit):
153  do IO<Unit>:
154    result : R & Result<&2, &2, E, O> <- handler(resource, principal, input)
155    work.return(~R, ~P, ~I, ~E, ~O, ~destroy, messages, reply, result)

Uses (9)

Used by (1)