def parse.multi.block.payload.length
mylsm-lsm-store@0.6.0.1 · src/ByteSstFile.bend:1743
import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile
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
1743def parse.multi.block.payload.length(
1744 pair: Bytes.Bytes & Maybe<&2, U32>,
1745 file: Bytes.Bytes,
1746 index_offset: Nat,
1747 next_block: Nat,
1748 block_count: Nat,
1749 level: U32,
1750 total: Nat,
1751 decoded: Nat,
1752 table: ByteMemTable.Table
1753) -> Result<&1, &1, Error, MultiRead>:
1754 match pair:
1755 case (block, Some{payload_length}):
1756 parse.multi.block.count(Bytes.get.u32be(block, 4), file,
1757 index_offset, next_block, block_count, level, total, decoded, table,
1758 payload_length)
1759 case _:
1760 Fail{Malformed{}}