SstStreamIo.read.block.header.size: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend as SstStreamIo Lines 164-178 of mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend&start_line=164&end_line=178 import Base import mylsm-lsm-store@0.6.0.1/src/SstFile.bend as SstFile import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes def read.block.header.size( file: File, +size: Nat, +used: Nat, parser: SstFile.StreamState, header: Bytes.Bytes, tail: Maybe<&2, U32> ) -> StreamReadState: match tail: case None{}: ReadClose{file, Fail{(corruption_error_code(), "invalid SST block size")}} case Some{+tail_len}: read.block.header.bound(file, size, used, parser, header, tail_len, Nat.is_le(Nat.add(Nat.add(used, 8n), U32.to_nat(tail_len)), Nat.sub(size, 40n))) Uses (15): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File 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.sub 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/SstFile.bend&name=StreamState https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend&name=StreamReadState https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend&name=corruption_error_code https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend&name=read.block.header.bound