pub struct CompositionValidator { /* private fields */ }Expand description
Runtime composition validator backed by a loaded matrix.
Wraps a CompositionMatrix and provides efficient query methods
for checking whether a given protocol×role×traffic_kind combination
is supported, and what tier/evidence it has.
Implementations§
Source§impl CompositionValidator
impl CompositionValidator
Sourcepub fn from_file(path: &Path) -> Result<Self, CompositionValidationError>
pub fn from_file(path: &Path) -> Result<Self, CompositionValidationError>
Load from an explicit file path.
Sourcepub fn query(
&self,
protocol: &str,
role: &str,
traffic_kind: &str,
) -> Option<&CompositionCell>
pub fn query( &self, protocol: &str, role: &str, traffic_kind: &str, ) -> Option<&CompositionCell>
Query a single composition cell.
Sourcepub fn query_chain(
&self,
from_protocol: &str,
to_protocol: &str,
traffic_kind: &str,
) -> Option<&ChainComposition>
pub fn query_chain( &self, from_protocol: &str, to_protocol: &str, traffic_kind: &str, ) -> Option<&ChainComposition>
Query a chain composition.
Sourcepub fn is_supported(
&self,
protocol: &str,
role: &str,
traffic_kind: &str,
) -> bool
pub fn is_supported( &self, protocol: &str, role: &str, traffic_kind: &str, ) -> bool
Check if a protocol+role+traffic_kind combination is supported (non-unsupported tier).
Sourcepub fn protocols_at_or_above_tier(
&self,
role: &str,
traffic_kind: &str,
min_tier: &str,
) -> Vec<&str>
pub fn protocols_at_or_above_tier( &self, role: &str, traffic_kind: &str, min_tier: &str, ) -> Vec<&str>
Get all protocols supporting a given role+traffic_kind at or above a tier.
Sourcepub fn constraints_for(&self, protocol: &str) -> Vec<&CompositionConstraint>
pub fn constraints_for(&self, protocol: &str) -> Vec<&CompositionConstraint>
Get all constraints that apply to a given protocol.
Sourcepub fn inner(&self) -> &CompositionMatrix
pub fn inner(&self) -> &CompositionMatrix
Return a reference to the inner matrix.
Auto Trait Implementations§
impl Freeze for CompositionValidator
impl RefUnwindSafe for CompositionValidator
impl Send for CompositionValidator
impl Sync for CompositionValidator
impl Unpin for CompositionValidator
impl UnsafeUnpin for CompositionValidator
impl UnwindSafe for CompositionValidator
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