pub struct DagNode {
pub id: NodeId,
pub name: String,
pub inputs: SmallVec<[EdgeId; 4]>,
pub outputs: SmallVec<[EdgeId; 4]>,
pub output_schema: SchemaRef,
pub state_partition: StatePartitionId,
pub node_type: DagNodeType,
}Expand description
A node in the DAG represents an operator or stage.
Nodes are created during topology construction in Ring 2 and are immutable once the DAG is finalized.
Fields§
§id: NodeIdUnique node identifier.
name: StringHuman-readable name (e.g., “normalize”, “vwap”).
inputs: SmallVec<[EdgeId; 4]>Upstream connections (fan-in). SmallVec avoids heap alloc for <= 4 inputs.
outputs: SmallVec<[EdgeId; 4]>Downstream connections (fan-out). SmallVec avoids heap alloc for <= 4 outputs.
output_schema: SchemaRefOutput schema for downstream type checking.
state_partition: StatePartitionIdState partition assignment (for thread-per-core routing).
node_type: DagNodeTypeNode classification for ring assignment.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DagNode
impl RefUnwindSafe for DagNode
impl Send for DagNode
impl Sync for DagNode
impl Unpin for DagNode
impl UnsafeUnpin for DagNode
impl UnwindSafe for DagNode
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.