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
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)