def write_batch.validation.result

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

import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import mylsm-lsm-store@0.6.0.1/src/DurableBatchPolicy.bend as BatchPolicy

1865def write_batch.validation.result(
1866  handle: Handle,
1867  mutations: List<&1, ByteWal.Mutation>,
1868  count: Nat,
1869  validation: BatchPolicy.Validation
1870) -> IO(Handle & Result<&1, &1, Error, Unit>):
1871  match validation:
1872    case BatchPolicy.ValidBatch{}: write_batch.validated(handle, mutations, count)
1873    case BatchPolicy.BatchBytesExceeded{}:
1874      IO.pure(Handle & Result<&1, &1, Error, Unit>,
1875        (handle, Fail{ResourceLimit{}}))
1876    case BatchPolicy.BatchCountExceeded{}:
1877      IO.pure(Handle & Result<&1, &1, Error, Unit>,
1878        (handle, Fail{ResourceLimit{}}))
1879    case _:
1880      IO.pure(Handle & Result<&1, &1, Error, Unit>,
1881        (handle, Fail{InvalidArgument{}}))

Uses (13)

Used by (1)