Server.timed: def of bendonnect-rpc@0.1.0.0 Import: import bendonnect-rpc@0.1.0.0/src/transport/server.bend as Server Lines 245-253 of bendonnect-rpc@0.1.0.0/src/transport/server.bend: https://jend.leeeet.dev/read.txt?path=bendonnect-rpc@0.1.0.0/src/transport/server.bend&start_line=245&end_line=253 import Base # NOTE: IO.within does not cancel the loser; a handler that overruns keeps running unobserved. def timed(~handle: Call -> IO(Reply), call: Call, t: Maybe<&2, U32>) -> IO(Reply): match t: case None{}: handle(call) case Some{+ms}: do IO: m : Maybe<&1, Reply> <- IO.within(Reply, ms, handle(call)) return timed.fin(m) Uses (9): 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.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.within https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bendonnect-rpc@0.1.0.0/src/transport/server.bend&name=Call https://jend.leeeet.dev/definition.txt?path=bendonnect-rpc@0.1.0.0/src/transport/server.bend&name=Reply https://jend.leeeet.dev/definition.txt?path=bendonnect-rpc@0.1.0.0/src/transport/server.bend&name=timed.fin