def snapshot.limited.retained.stats

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

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/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/scan/Snapshot.bend as SnapshotPolicy
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleStats.bend as VisibleStats

2471# Preflights retained bytes before reading the published SST snapshot.
2472def snapshot.limited.retained.stats(
2473  +path: String,
2474  lock: DbLock.Lock,
2475  table: ByteMemTable.Table,
2476  state: HandleState,
2477  stats: VisibleStats.Stats & VisibleStats.Stats,
2478  delta_bytes: Nat,
2479  max_bytes: Nat
2480) -> IO(Handle & Result<&1, &1, Error, List<&1, ByteMemTable.Entry>>):
2481  match stats:
2482    case (for_estimate, for_handle):
2483          snapshot.limited.admitted(
2484            Handle{path, lock, table, state, for_handle},
2485            SnapshotPolicy.reserve(0n, 0n,
2486              snapshot.estimate(for_estimate, delta_bytes), 1n, max_bytes))

Uses (17)

Used by (1)