def parse.record.value.length

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

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

629def parse.record.value.length(
630  pair: Bytes.Cursor & Maybe<&2, U32>,
631  +key_len: U32,
632  +key: String
633) -> Bytes.Cursor & Result<&1, &1, Error, ParsedRecord>:
634  match pair:
635    case (cursor, Some{+value_len}):
636      parse.record.value.length.checked(cursor, key_len, key, value_len,
637        U32.is_le(value_len, (StorageBytes.MAX_RECORD_BYTES() - 9 - key_len : U32)))
638    case (cursor, None{}):
639      (cursor, Fail{Malformed{}})

Uses (13)

Used by (1)