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))