def measure.key.block
mylsm-lsm-store@0.6.0.1 · src/scan/ByteBlockReader.bend:1059
import mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend as ByteBlockReader
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
1059def measure.key.block(
1060 reader: Reader,
1061 key: Bytes.Bytes
1062) -> IO(Result<&1, &1, U32 & String, ByteWal.ValueMetadata>):
1063 match reader:
1064 case Reader{file, state}:
1065 match state:
1066 case State{_, _, +index_offset, +used, _, _, _, _, _, _, _, _}:
1067 do IO<Result<&1, &1, U32 & String, ByteWal.ValueMetadata>>:
1068 header : File & Result<&1, &1, U32 & String, Bytes.Bytes> <-
1069 Fs.read_at(file, U32.from_nat(Nat.add(20n, used)), 8)
1070 measure_key_header(index_offset, used, key, header)