def write.count.measured

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

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

599def write.count.measured(
600  +path: String,
601  lock: DbLock.Lock,
602  table: ByteMemTable.Table,
603  measured: BatchPolicy.ByteBatchMeasurement
604) -> IO(Handle & Result<&1, &1, Error, Unit>):
605  match measured:
606    case BatchPolicy.BatchMeasured{mutations, count, encoded_bytes}:
607      write.count.validated(path, lock, table, mutations,
608        BatchPolicy.validate_batch(count, encoded_bytes))
609    case BatchPolicy.BatchTooMany{}:
610      IO.pure(Handle & Result<&1, &1, Error, Unit>,
611        (Handle{path, lock, table, Open{}, VisibleStats.Stats{0n, 0n}},
612          Fail{ResourceLimit{}}))

Uses (16)

Used by (1)