def flush.table

mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:876

import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/ByteSstFile.bend as ByteSstFile
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock

876# Builds a canonical snapshot without consuming the live table.
877def flush.table(
878  +path: String,
879  lock: DbLock.Lock,
880  pair: ByteMemTable.Table & List<&1, ByteMemTable.Entry>
881) -> IO(Handle & Result<&1, &1, Error, Unit>):
882  match pair:
883    case (table, entries):
884      flush.snapshot(path, lock, table,
885        ByteSstFile.entries.clone(ByteMemTable.ordered_entries(ByteMemTable.Table{entries})))

Uses (15)

Used by (1)