def read.block.header.copied
mylsm-lsm-store@0.6.0.1 · src/SstStreamIo.bend:193
import mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend as SstStreamIo
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
193def read.block.header.copied(
194 file: File,
195 +size: Nat,
196 +used: Nat,
197 parser: SstFile.StreamState,
198 inspected: Bytes.Bytes & Maybe<&2, U32>
199) -> StreamReadState:
200 match inspected:
201 case (saved, None{}):
202 ReadClose{file, Fail{(corruption_error_code(), "invalid SST block size")}}
203 case (saved, Some{+tail_len}):
204 read.block.header.size(file, size, used, parser, saved,
205 Some{tail_len})