def recover.prefix.next

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

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 bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

61def recover.prefix.next(
62  file: File,
63  +size: Nat,
64  +offset: Nat,
65  table: ByteMemTable.Table,
66  prefix: Bytes.Bytes,
67  parsed: Maybe<&2, U32>
68) -> RecoveryState:
69  match parsed:
70    case None{}:
71      Failed{file, error("malformed byte WAL frame length")}
72    case Some{+frame_length}:
73      Prefix{file, size, offset, table, prefix, frame_length,
74        Nat.is_le(Nat.add(offset, Nat.add(4n, U32.to_nat(frame_length))), size) &&
75          U32.is_le(36, frame_length)}

Uses (13)

Used by (1)