def create.canonical
mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:205
import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
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
205def create.canonical(
206 result: Result<&1, &1, U32 & String, String>
207) -> IO(Result<&1, &1, Error, Handle>):
208 match result:
209 case Fail{error}:
210 IO.pure(Result<&1, &1, Error, Handle>, Fail{io.error(error)})
211 case Done{+path}:
212 do IO<Result<&1, &1, Error, Handle>>:
213 acquired : Result<&1, &1, DurableError.Error, DbLock.Lock> <-
214 DbLock.acquire(path, "create")
215 create.locked(path, acquired)