def stream.blocks.updated
mylsm-lsm-store@0.6.0.1 · src/SstFile.bend:1162
import mylsm-lsm-store@0.6.0.1/src/SstFile.bend as SstFile
import Base
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
1162
1163def stream.blocks.updated(
1164 state: BlockStreamState,
1165 records: ParsedEntries,
1166 +count: U32,
1167 digest: Bytes.Bytes
1168) -> BlockStreamOutput:
1169 match state:
1170 case BlockStreamState{+level, +total, +block_count, +remaining,
1171 +entries_left, _, hashes}:
1172 match records:
1173 case Entries{reversed, previous}:
1174 BlockStreamOutput{
1175 BlockStreamState{level, total, block_count,
1176 (remaining - 1 : U32), (entries_left - count : U32),
1177 previous, Con{digest, hashes}},
1178 List.reverse(&2, MemTable.Entry, reversed)}