pub enum GraphError {
UnknownNode(NodeId),
PadOutOfRange {
node: NodeId,
index: u8,
direction: PadDir,
},
UnlinkedPad {
node: NodeId,
index: u8,
direction: PadDir,
},
PadCountMismatch {
node: NodeId,
index: u8,
direction: PadDir,
},
OrphanNode(NodeId),
Cycle {
nodes: Vec<NodeId>,
},
DuplicateGhostPad {
node: NodeId,
index: u8,
direction: PadDir,
},
DegenerateFanNode(NodeId),
}Expand description
Validation failures from Graph::link and Graph::finish.
Variants§
UnknownNode(NodeId)
A linked pad referenced a node id that doesn’t exist.
PadOutOfRange
A pad index is past the node kind’s pad count for that direction.
UnlinkedPad
A pad has no link where the kind requires one.
PadCountMismatch
A pad has more than one link (a pad peers with exactly one other pad;
fan-out/in is expressed with Tee/Muxer, not multi-linked pads).
OrphanNode(NodeId)
A node participates in no link at all.
Cycle
The graph has a cycle; the listed nodes are the unresolved set.
DuplicateGhostPad
The same interior pad was exposed as a ghost pad twice on a Bin. A
ghost pad peers 1:1 with one internal pad (as in GStreamer), so a pad can
back at most one ghost.
DegenerateFanNode(NodeId)
A Tee/Demux with zero outputs or a Muxer with zero inputs. The
runner’s broadcast computes senders.len() - 1, so a zero-fan node
underflows and panics; reject it at validation instead.
Trait Implementations§
Source§impl Clone for GraphError
impl Clone for GraphError
Source§fn clone(&self) -> GraphError
fn clone(&self) -> GraphError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more