def measure_key_header_exact

mylsm-lsm-store@0.6.0.1 · src/scan/ByteBlockReader.bend:1033

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 bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

1033# Handles measure key header exact.
1034def measure_key_header_exact(
1035  +index_offset: Nat,
1036  +used: Nat,
1037  key: Bytes.Bytes,
1038  pair: File & Result<&1, &1, U32 & String, Bytes.Bytes>
1039) -> IO(Result<&1, &1, U32 & String, ByteWal.ValueMetadata>):
1040  match pair:
1041    case (file, Fail{error}):
1042      do IO<Result<&1, &1, U32 & String, ByteWal.ValueMetadata>>:
1043        _closed : Unit <- File.close(file)
1044        return Fail{error}
1045    case (file, Done{header}):
1046      measure_key_header_length(index_offset, used, key,
1047        Bytes.get.u32be(header, 0), file)

Uses (16)

Used by (1)