def record.measure.tag

mylsm-lsm-store@0.6.0.1 · src/ByteWal.bend:527

import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import Base
import mylsm-lsm-store@0.6.0.1/src/Wal.bend as Wal
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

527def record.measure.tag(
528  pair: Bytes.Bytes & Maybe<&2, U32>,
529  offsets: U32 & U32
530) -> RecordMeasure:
531  match pair:
532    case (frame, tag):
533      match tag:
534        case Some{0}:
535          match offsets:
536            case (length_offset, key_offset):
537              record.measure.key.length.read(
538                Bytes.get.u32be(frame, length_offset), 0, key_offset)
539        case Some{1}:
540          match offsets:
541            case (length_offset, key_offset):
542              record.measure.key.length.read(
543                Bytes.get.u32be(frame, length_offset), 1, key_offset)
544        case _:
545          record.measure.pack(frame, Fail{Wal.Malformed{}})

Uses (14)

Used by (1)