def parse.multi.sized.valid

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

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

1865def parse.multi.sized.valid(
1866  source: Bytes.Bytes,
1867  file: Bytes.Bytes,
1868  +blocks: Nat,
1869  +entries: Nat,
1870  +level: Nat,
1871  +size: Nat,
1872  index_length: Nat,
1873  valid: Bool
1874) -> Result<&1, &1, Error, ByteMemTable.Table>:
1875  match valid:
1876    case False{}: Fail{Malformed{}}
1877    case True{}:
1878      +index_size = Nat.add(44n, index_length)
1879      +index_offset = Nat.sub(size, index_size)
1880      parse.multi.sized.start(QueuePolicy.nat.clone.pair(blocks), source,
1881        file, index_offset, entries, level)

Uses (10)

Used by (1)