pub enum AlgorithmError {
Show 20 variants
Unavailable {
algorithm: String,
},
DuplicateCapability {
algorithm: String,
},
Cancelled,
NodeLimit {
observed: u64,
limit: u64,
},
EdgeLimit {
observed: u64,
limit: u64,
},
OutputLimit {
observed: u64,
limit: u64,
},
IterationLimit {
observed: u64,
limit: u64,
},
StateLimit {
observed: u64,
limit: u64,
},
StateOverflow,
SteinerOption {
algorithm: &'static str,
option: &'static str,
reason: &'static str,
},
SteinerTerminalCardinality {
algorithm: &'static str,
observed: usize,
required: usize,
},
SteinerTerminalOutsideProjection {
uuid: [u8; 16],
},
NonConvergence {
iterations: u64,
},
Execution {
message: String,
},
UndefinedConductance {
partition: String,
},
UndefinedModularity,
AutomorphismCountOverflow,
AutomorphismCountStateLimit {
observed: u64,
limit: u64,
},
UndefinedEulerCircuit,
UndefinedEulerPath,
}Expand description
Structured failures produced by Rust algorithm dispatch.
Variants§
No Rust handler has registered this typed algorithm yet.
DuplicateCapability
Two handlers attempted to own the same canonical algorithm.
Cancelled
Cooperative cancellation was requested.
NodeLimit
Selected graph exceeded the node budget.
EdgeLimit
Selected graph exceeded the adjacency-entry budget.
OutputLimit
Handler produced more rows than permitted.
IterationLimit
Cooperative iteration budget was exhausted.
StateLimit
An exact solver exceeded its aggregate search-state budget.
Fields
StateOverflow
An exact solver’s aggregate state counter exceeded UInt64.
SteinerOption
A Steiner invocation supplied an option outside its closed contract.
Fields
SteinerTerminalCardinality
A Steiner invocation has too few distinct mandatory terminals.
Fields
SteinerTerminalOutsideProjection
A mandatory Steiner terminal is outside the selected projection.
NonConvergence
An iterative algorithm stopped without satisfying its convergence rule.
Execution
Handler-specific execution failure without graph data in the message.
UndefinedConductance
Conductance is undefined for a zero-volume partition or complement.
UndefinedModularity
Modularity has no denominator because the selected graph has zero total edge weight.
AutomorphismCountOverflow
Exact automorphism counting exceeded the canonical unsigned result range.
AutomorphismCountStateLimit
Automorphism counting exceeded its deterministic search-state budget.
Fields
UndefinedEulerCircuit
No Euler circuit exists for the selected canonical projection.
UndefinedEulerPath
No Euler path exists for the selected canonical projection.
Implementations§
Source§impl AlgorithmError
impl AlgorithmError
Sourcepub const fn fault_domain(&self) -> &'static str
pub const fn fault_domain(&self) -> &'static str
Established public fault domain for this algorithm failure.
Trait Implementations§
Source§impl Clone for AlgorithmError
impl Clone for AlgorithmError
Source§impl Debug for AlgorithmError
impl Debug for AlgorithmError
Source§impl Display for AlgorithmError
impl Display for AlgorithmError
impl Eq for AlgorithmError
Source§impl Error for AlgorithmError
impl Error for AlgorithmError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<AlgorithmError> for GfError
impl From<AlgorithmError> for GfError
Source§fn from(error: AlgorithmError) -> Self
fn from(error: AlgorithmError) -> Self
Source§impl PartialEq for AlgorithmError
impl PartialEq for AlgorithmError
impl StructuralPartialEq for AlgorithmError
Auto Trait Implementations§
impl Freeze for AlgorithmError
impl RefUnwindSafe for AlgorithmError
impl Send for AlgorithmError
impl Sync for AlgorithmError
impl Unpin for AlgorithmError
impl UnsafeUnpin for AlgorithmError
impl UnwindSafe for AlgorithmError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.