def partition_step
mylsm-lsm-store@0.6.0.1 · src/SortedRun.bend:353
import mylsm-lsm-store@0.6.0.1/src/SortedRun.bend as SortedRun
import Base
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
353
354def partition_step(
355 full: Bool,
356 target: Nat,
357 room_after: Nat,
358 entry: MemTable.Entry,
359 rest: List<&2, MemTable.Entry>,
360 current_rev: List<&2, MemTable.Entry>,
361 chunks_rev: List<&2, List<&2, MemTable.Entry>>
362) -> PartitionState:
363 match full:
364 case False{}:
365 PartitionState{room_after, rest, Con{entry, current_rev}, chunks_rev}
366 case True{}:
367 chunk = List.reverse(&2, MemTable.Entry, Con{entry, current_rev})
368 PartitionState{target, rest, Nil{}, Con{chunk, chunks_rev}}