def locked
mylsm-lsm-store@0.6.0.1 · src/transfer/MigrateIo.bend:639
import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateIo.bend as MigrateIo
import Base
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/DurableError.bend as DurableError
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs
639
640def locked(
641 +path: String,
642 result: Result<&1, &1, DurableError.Error, DbLock.Lock>
643) -> IO(Result<&1, &1, Error, Nat>):
644 match result:
645 case Fail{error}:
646 IO.pure(Result<&1, &1, Error, Nat>, Fail{LockError{error}})
647 case Done{lock}:
648 do IO<Result<&1, &1, Error, Nat>>:
649 present : Result<&1, &1, U32 & String, Bool> <- Fs.exists(path ++ "/WAL")
650 wal.exists(lock, present, path)