def parse.block.length

mylsm-lsm-store@0.6.0.1 · src/ByteSstFile.bend:1283

import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/coordinator/QueuePolicy.bend as QueuePolicy
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

1283def parse.block.length(
1284  measured: Bytes.Bytes & U32,
1285  payload: Bytes.Bytes & Maybe<&2, U32>
1286) -> Result<&1, &1, Error, ByteMemTable.Table>:
1287  match measured:
1288    case (block, +size):
1289      match payload:
1290        case (_, Some{payload_length}):
1291          parse.block.length.check(block, size,
1292            QueuePolicy.nat.clone.pair(U32.to_nat(payload_length)))
1293        case _:
1294          Fail{Malformed{}}

Uses (11)

Used by (1)