def parse.header.entries

mylsm-lsm-store@0.6.0.1 · src/ByteSstFile.bend:914

import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile
import Base
import mylsm-lsm-store@0.6.0.1/src/StorageBytes.bend as StorageBytes
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

914def parse.header.entries(
915  pair: Bytes.Cursor & Maybe<&2, U32>,
916  +size: U32,
917  +level: U32,
918  +total: U32,
919  +payload_len: U32
920) -> Result<&1, &1, Error, PayloadWords>:
921  match pair:
922    case (cursor, Some{+entries}):
923      parse.header.entries.valid(cursor, size, level, total, payload_len,
924        entries, U32.is_eq(entries, total) &&
925          U32.is_le(payload_len, StorageBytes.MAX_BLOCK_BYTES()) &&
926          U32.is_eq(size, (116 + payload_len : U32)))
927    case _:
928      Fail{Malformed{}}

Uses (14)

Used by (1)