def record.tag

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

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

364# Validates the tag and reads the corresponding raw key length.
365def record.tag(
366  pair: Bytes.Bytes & Maybe<&2, U32>,
367  +offset: U32
368) -> DecodedRecord:
369  match pair:
370    case (frame, None{}):
371      record.malformed(frame)
372    case (frame, Some{0}):
373      record.key.length(Bytes.get.u32be(frame, (offset + 1 : U32)), 0, offset)
374    case (frame, Some{1}):
375      record.key.length(Bytes.get.u32be(frame, (offset + 1 : U32)), 1, offset)
376    case (frame, Some{_}):
377      record.malformed(frame)

Uses (13)

Used by (1)