def opened

cswap-bend-cli@0.1.0.0 · lock.bend:63

import cswap-bend-cli@0.1.0.0/lock.bend as Lock
import Base
import cswap-bend-cli@0.1.0.0/fs.bend as Fs

63def opened(timeout_ms: U32, r: Fs.Res(File)) -> IO(Fs.Res(Maybe<&1, File>)):
64  match r:
65    case Fail{e}:
66      IO.pure(Fs.Res(Maybe<&1, File>), Fail{e})
67    case Done{f}:
68      IO.bind(File & Fs.Res(Bool), Fs.Res(Maybe<&1, File>),
69        IO.bind(File & Fs.Res(Bool), File & Fs.Res(Bool), attempt(f), r1 => wait(tries(timeout_ms), r1)),
70        held.fin)

Uses (14)

Used by (1)