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)

Uses (15)

Used by (1)