def registry.release.input.bytes
mylsm-lsm-store@0.6.0.1 · src/scan/Snapshot.bend:374
import mylsm-lsm-store@0.6.0.1/src/scan/Snapshot.bend as Snapshot
import Base
374
375def registry.release.input.bytes(
376 count_copies: Nat & Nat,
377 count_original: Nat,
378 bytes_copies: Nat & Nat,
379 bytes_original: Nat,
380 release_copies: Nat & Nat
381) -> RegistryReleaseDecision:
382 match count_copies:
383 case (count_for_subtract, count_for_check):
384 match bytes_copies:
385 case (bytes_for_subtract, bytes_for_check):
386 match release_copies:
387 case (released_for_subtract, released_for_check):
388 registry.release.result(
389 (Nat.sub(count_for_subtract, 1n),
390 Nat.sub(bytes_for_subtract, released_for_subtract)),
391 Registry{count_original, bytes_original},
392 (Nat.is_lt(0n, count_for_check),
393 Nat.is_le(released_for_check, bytes_for_check)))