pub enum GraphError {
PadOutOfRange {
index: usize,
pad_count: usize,
},
PadAlreadyLinked(String),
ParentNotAttached(ElementId),
NodeAlreadyAttached(ElementId),
BranchNotAttached(BranchId),
TimelineOperationInProgress,
EmptyBranch,
IncompatibleLink {
producer: Arc<str>,
produced: PortContract,
consumer: Arc<str>,
accepted: PortContract,
},
NotSingleOutput {
name: Arc<str>,
count: usize,
},
}Expand description
A rejected topology change.
Every variant here is a refusal, not a partial result: attachment validates before it mutates, so a graph that returns one of these is left exactly as it was.
Variants§
PadOutOfRange
The requested source pad index does not exist.
Fields
PadAlreadyLinked(String)
Attachment targeted a source pad that already owns a downstream sink.
ParentNotAttached(ElementId)
A dynamic attachment named an element that is no longer in this graph.
NodeAlreadyAttached(ElementId)
An attachment plan attempted to publish an already-attached node.
BranchNotAttached(BranchId)
A detach operation named a branch that is no longer attached.
TimelineOperationInProgress
A branch cannot join while a seek/lifecycle transaction is taking its topology and control snapshots.
EmptyBranch
An attachment plan contained no terminal or processing element.
IncompatibleLink
Two elements were wired together even though what one produces can
never reach the other — see crate::contract. Reported when the
branch is built or attached, before anything runs, because no
buffer could have made this link work.
Fields
produced: PortContractWhat that side emits.
accepted: PortContractWhat the consuming side accepts.
NotSingleOutput
crate::pipeline::ChainBuilder::pipe received a filter whose output
shape cannot be represented as one linear chain stage.
Trait Implementations§
Source§impl Debug for GraphError
impl Debug for GraphError
Source§impl Display for GraphError
impl Display for GraphError
impl Eq for GraphError
Source§impl Error for GraphError
impl Error for GraphError
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()