def read.size

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

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

105def read.size(
106  +path: String,
107  lock: DbLock.Lock,
108  result: Result<&1, &1, U32 & String, Nat>
109) -> IO(Result<&1, &1, Error, FormatInspect.Inspection>):
110  match result:
111    case Fail{error}:
112      do IO<Result<&1, &1, Error, FormatInspect.Inspection>>:
113        released : Result<&1, &1, DurableError.Error, Unit> <-
114          DbLock.release(lock, "inspect", path)
115        return read.failed.released(error, released)
116    case Done{+size}:
117      read.size.checked(path, lock, size,
118        Nat.is_le(size, U32.to_nat(StorageBytes.MAX_MANIFEST_BYTES())))

Uses (19)

Used by (1)