def recover.size.checked

mylsm-lsm-store@0.6.0.1 · src/ByteWalIo.bend:399

import mylsm-lsm-store@0.6.0.1/src/ByteWalIo.bend as ByteWalIo
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable

399def recover.size.checked(
400  +path: String,
401  +size: Nat,
402  valid: Bool,
403  initial: ByteMemTable.Table
404) -> IO(Result<&1, &1, U32 & String, ByteMemTable.Table>):
405  match valid:
406    case False{}:
407      IO.pure(Result<&1, &1, U32 & String, ByteMemTable.Table>,
408        Fail{error("malformed or oversized byte WAL")})
409    case True{}:
410      do IO<Result<&1, &1, U32 & String, ByteMemTable.Table>>:
411        opened : Result<&1, &1, U32 & String, File> <- File.open(path, "r")
412        recover.opened(path, size, opened, initial)

Uses (14)

Used by (1)