ByteSstFile.parse.multi.sized.index_length: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile Lines 1883-1902 of mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend&start_line=1883&end_line=1902 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 def parse.multi.sized.index_length( source: Bytes.Bytes, file: Bytes.Bytes, +blocks: Nat, +entries: Nat, +level: Nat, +size: Nat, result: Bytes.Bytes & Maybe<&2, U32> ) -> Result<&1, &1, Error, ByteMemTable.Table>: match result: case (_, Some{length}): +index_length = U32.to_nat(length) +minimum_index_length = Nat.add(8n, Nat.mul(blocks, 16n)) +index_size = Nat.add(44n, index_length) parse.multi.sized.valid(source, file, blocks, entries, level, size, index_length, Nat.is_le(minimum_index_length, index_length) && Nat.is_le(index_size, size) && Nat.is_le(20n, Nat.sub(size, index_size))) case (_, None{}): Fail{Malformed{}} Uses (16): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_le https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend&name=Table https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend&name=Error https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend&name=parse.multi.sized.valid