def chunk_go
mylsm-lsm-store@0.3.2.0 · src/Sstable.bend:29
import mylsm-lsm-store@0.3.2.0/src/Sstable.bend as Sstable
import Base
import mylsm-lsm-store@0.3.2.0/src/MemTable.bend as MemTable
29def chunk_go(fuel: Nat, +entries: List<&2, MemTable.Entry>, +cur: List<&2, MemTable.Entry>, room: Nat, acc: List<&2, List<&2, MemTable.Entry>>) -> List<&2, List<&2, MemTable.Entry>>:
30 match fuel:
31 case 0n:
32 List.reverse(&2, List<&2, MemTable.Entry>, Con{List.reverse(&2, MemTable.Entry, cur), acc})
33 case 1n+f:
34 match entries:
35 case Nil{}:
36 List.reverse(&2, List<&2, MemTable.Entry>, Con{List.reverse(&2, MemTable.Entry, cur), acc})
37 case Con{e, t}:
38 match room:
39 case 0n:
40 chunk_go(f, t, Con{e, Nil{}}, Nat.sub(block_entries(), 1n), Con{List.reverse(&2, MemTable.Entry, cur), acc})
41 case 1n+r:
42 chunk_go(f, t, Con{e, cur}, r, acc)