def inspect.lock.present

mylsm-lsm-store@0.6.0.1 · src/transfer/FormatInspectIo.bend:140

import mylsm-lsm-store@0.6.0.1/src/transfer/FormatInspectIo.bend as FormatInspectIo
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/transfer/FormatInspect.bend as FormatInspect

140def inspect.lock.present(
141  +path: String,
142  result: Result<&1, &1, U32 & String, Bool>
143) -> IO(Result<&1, &1, Error, FormatInspect.Inspection>):
144  match result:
145    case Fail{error}:
146      inspect.lock.error(error)
147    case Done{False{}}:
148      IO.pure(Result<&1, &1, Error, FormatInspect.Inspection>,
149        Fail{Host{2, "database LOCK file is missing"}})
150    case Done{True{}}:
151      do IO<Result<&1, &1, Error, FormatInspect.Inspection>>:
152        acquired : Result<&1, &1, DurableError.Error, DbLock.Lock> <-
153          DbLock.acquire(path, "inspect")
154        inspect.locked(path, acquired)

Uses (15)

Used by (1)