def open.manifest.failed
mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:280
import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteManifestIo.bend as ByteManifestIo
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
280def open.manifest.failed(
281 +path: String,
282 lock: DbLock.Lock,
283 error: ByteManifestIo.Error
284) -> IO(Result<&1, &1, Error, Handle>):
285 match error:
286 case ByteManifestIo.Invalid{_}:
287 do IO<Result<&1, &1, Error, Handle>>:
288 _released : Result<&1, &1, DurableError.Error, Unit> <-
289 DbLock.release(lock, "open_existing", path)
290 return Fail{Corruption{"byte manifest validation failed"}}
291 case ByteManifestIo.Host{code, message}:
292 do IO<Result<&1, &1, Error, Handle>>:
293 _released : Result<&1, &1, DurableError.Error, Unit> <-
294 DbLock.release(lock, "open_existing", path)
295 return Fail{Io{code, message}}