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# Continues source verification after exclusive lock acquisition.
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)

Uses (15)

Used by (1)