def wal.locked.sized
mylsm-lsm-store@0.6.0.1 · src/transfer/MigrateIo.bend:770
import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateIo.bend as MigrateIo
import Base
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import mylsm-lsm-store@0.6.0.1/src/coordinator/QueuePolicy.bend as QueuePolicy
770def wal.locked.sized(
771 lock: DbLock.Lock,
772 size: Nat,
773 +path: String,
774 within_limit: Bool,
775 records: List<&2, MemTable.Entry>
776) -> IO(TableValidation):
777 match within_limit:
778 case False{}:
779 IO.pure(TableValidation,
780 table.validation.records(lock, path, Fail{ResourceLimit{}}, records))
781 case True{}:
782 do IO<TableValidation>:
783 opened : Result<&1, &1, U32 & String, File> <-
784 File.open(path ++ "/WAL", "r")
785 wal.locked.opened(lock, QueuePolicy.nat.clone.pair(size), opened, path,
786 records)