def decode.frame.copies

mylsm-lsm-store@0.6.0.1 · src/ByteWal.bend:926

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

926# Validates record payload and checksum after parsing a bounded frame header.
927def decode.frame.copies(
928  pair: Bytes.Bytes & Bytes.Bytes,
929  +count: U32,
930  +total: U32
931) -> Result<&1, &1, Wal.Error, Batch>:
932  match pair:
933    case (checksum_frame, parse_frame):
934      decode.checksum(checksum_frame, total,
935        decode.records.loop(Nat.add(Nat.mul(2n, U32.to_nat(count)), 1n),
936          DecodeNext{parse_frame, 8, U32.to_nat(count), Nil{}}))

Uses (14)

Used by (1)