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