pub struct NodeInfo {
pub name: String,
pub namespace: String,
pub short_name: String,
pub description: String,
pub version: String,
pub inputs: Vec<Port>,
pub outputs: Vec<Port>,
pub effectful: bool,
pub deterministic: bool,
}Expand description
Metadata about a node type.
Fields§
§name: StringFully qualified name (e.g., “std::switch”, “plugins::fraud_model”).
namespace: StringNamespace (e.g., “std”, “plugins”).
short_name: StringShort name (e.g., “switch”, “fraud_model”).
description: StringDescription of what the node does.
version: StringVersion of the node implementation.
inputs: Vec<Port>Input ports.
outputs: Vec<Port>Output ports.
effectful: boolWhether this node has side effects.
deterministic: boolWhether this node is deterministic (same input = same output).
Implementations§
Source§impl NodeInfo
impl NodeInfo
Sourcepub fn new(namespace: impl Into<String>, name: impl Into<String>) -> Self
pub fn new(namespace: impl Into<String>, name: impl Into<String>) -> Self
Create new node info.
Sourcepub fn with_description(self, desc: impl Into<String>) -> Self
pub fn with_description(self, desc: impl Into<String>) -> Self
Set the description.
Sourcepub fn with_version(self, version: impl Into<String>) -> Self
pub fn with_version(self, version: impl Into<String>) -> Self
Set the version.
Sourcepub fn with_inputs(self, inputs: Vec<Port>) -> Self
pub fn with_inputs(self, inputs: Vec<Port>) -> Self
Set input ports.
Sourcepub fn with_outputs(self, outputs: Vec<Port>) -> Self
pub fn with_outputs(self, outputs: Vec<Port>) -> Self
Set output ports.
Sourcepub fn non_deterministic(self) -> Self
pub fn non_deterministic(self) -> Self
Mark as non-deterministic.
Sourcepub fn get_output(&self, name: &str) -> Option<&Port>
pub fn get_output(&self, name: &str) -> Option<&Port>
Get an output port by name.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NodeInfo
impl RefUnwindSafe for NodeInfo
impl Send for NodeInfo
impl Sync for NodeInfo
impl Unpin for NodeInfo
impl UnwindSafe for NodeInfo
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.