pub struct NodeBudget {
pub layer1_max: usize,
pub layer2_max: usize,
pub layer3_max: usize,
pub layer1_count: usize,
pub layer2_count: usize,
pub layer3_count: usize,
}Expand description
Per-layer node budget allocation and tracking.
Fields§
§layer1_max: usizeMaximum nodes allowed for Layer 1 (Governance).
layer2_max: usizeMaximum nodes allowed for Layer 2 (Process).
layer3_max: usizeMaximum nodes allowed for Layer 3 (Accounting).
layer1_count: usizeCurrent count for Layer 1.
layer2_count: usizeCurrent count for Layer 2.
layer3_count: usizeCurrent count for Layer 3.
Implementations§
Source§impl NodeBudget
impl NodeBudget
Sourcepub fn new(max_nodes: usize) -> Self
pub fn new(max_nodes: usize) -> Self
Create a budget with the given total max nodes. Default allocation: L1 gets 20%, L3 gets 10%, L2 gets remainder (70%).
Sourcepub fn can_add(&self, layer: HypergraphLayer) -> bool
pub fn can_add(&self, layer: HypergraphLayer) -> bool
Check if a layer can accept more nodes.
Sourcepub fn record_add(&mut self, layer: HypergraphLayer)
pub fn record_add(&mut self, layer: HypergraphLayer)
Record a node addition.
Sourcepub fn total_count(&self) -> usize
pub fn total_count(&self) -> usize
Total nodes across all layers.
Trait Implementations§
Source§impl Clone for NodeBudget
impl Clone for NodeBudget
Source§fn clone(&self) -> NodeBudget
fn clone(&self) -> NodeBudget
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NodeBudget
impl Debug for NodeBudget
Source§impl Default for NodeBudget
impl Default for NodeBudget
Source§fn default() -> NodeBudget
fn default() -> NodeBudget
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for NodeBudget
impl<'de> Deserialize<'de> for NodeBudget
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for NodeBudget
impl RefUnwindSafe for NodeBudget
impl Send for NodeBudget
impl Sync for NodeBudget
impl Unpin for NodeBudget
impl UnwindSafe for NodeBudget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more