def opened
import cswap-bend-cli@0.1.0.0/lock.bend as Lockimport 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)