Immutable runtime limits used by deterministic Raft apply code.
The context is captured before a command reaches apply and stored with the replicated state-machine state. It contains only versioned, serializable values so snapshots and replay never depend on node-local application or process configuration.
Summary
Types
@type encoded() :: {:ferricstore_apply_context_v1, pos_integer(), non_neg_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), boolean(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer(), pos_integer(), non_neg_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer(), pos_integer()}
@type t() :: %Ferricstore.Raft.ApplyContext{ batch_command_apply_budget: pos_integer(), compound_member_apply_budget: pos_integer(), flow_default_history_hot_max_events: non_neg_integer(), flow_default_history_max_events: pos_integer(), flow_default_retention_ttl_ms: pos_integer(), flow_hibernation_enabled: boolean(), flow_hibernation_hot_window_ms: non_neg_integer(), flow_hibernation_late_promote_window_ms: non_neg_integer(), flow_hibernation_promote_window_ms: non_neg_integer(), flow_hibernation_safety_margin_ms: non_neg_integer(), flow_lmdb_history_cleanup_scan_limit: pos_integer(), flow_lmdb_value_cleanup_scan_limit: pos_integer(), flow_max_batch_items: pos_integer(), flow_max_history_hot_max_events: pos_integer(), flow_max_history_max_events: pos_integer(), flow_retention_cleanup_byte_budget: pos_integer(), flow_retention_cleanup_key_budget: pos_integer(), max_value_size: pos_integer(), promotion_threshold: non_neg_integer(), transaction_command_budget: pos_integer(), transaction_key_apply_budget: pos_integer(), transaction_result_byte_budget: pos_integer(), version: pos_integer() }