def header.checked

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

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

347def header.checked(
348  +path: String,
349  file: File,
350  +size: Nat,
351  result: Result<&1, &1, Wal.Error, Unit>,
352  initial: ByteMemTable.Table
353) -> IO(Result<&1, &1, U32 & String, ByteMemTable.Table>):
354  match result:
355    case Fail{_}:
356      close.failed(file, error("unsupported byte WAL format"))
357    case Done{Unit{}}:
358      recover.result(path, Nat.add(Nat.mul(size, 8n), 8n),
359        recover.at(file, size, 8n, initial))

Uses (16)

Used by (1)