def parse.record.key.ready

mylsm-lsm-store@0.6.0.1 · src/SstFile.bend:641

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

641def parse.record.key.ready(
642  cursor: Bytes.Cursor,
643  tag: U32,
644  +key_len: U32,
645  +key: String
646) -> Bytes.Cursor & Result<&1, &1, Error, ParsedRecord>:
647  match tag:
648    case 1:
649      (cursor, Done{Rec{MemTable.Entry{key, None{}}, (5 + key_len : U32)}})
650    case 0:
651      parse.record.value.length(Bytes.Cursor.u32be(cursor), key_len, key)
652    case _:
653      (cursor, Fail{Malformed{}})

Uses (16)

Used by (1)