def gate.destination.measured
mylsm-lsm-store@0.6.0.1 · src/transfer/Migrate.bend:290
import mylsm-lsm-store@0.6.0.1/src/transfer/Migrate.bend as Migrate
import Base
290
291def gate.destination.measured(
292 max_entries: Nat,
293 max_encoded_bytes: Nat,
294 destination_missing: Bool,
295 entry_counts: Nat & Nat,
296 byte_counts: Nat & Nat
297) -> Decision:
298 match entry_counts:
299 case (result_entries, measured_entries):
300 match byte_counts:
301 case (result_bytes, measured_bytes):
302 Bool.pick(Decision, destination_missing,
303 Bool.pick(Decision,
304 Nat.is_le(measured_entries, max_entries) &&
305 Nat.is_le(measured_bytes, max_encoded_bytes),
306 MigrateReady{result_entries, result_bytes},
307 MigrateRejected{ResourceLimit{}}),
308 MigrateRejected{DestinationExists{}})