Expand description
This prelude contains everything you need to use this crate.
Re-exports§
pub use iridis_node;
Modules§
- iridis_
layout - This module defines the layout elements of a
dataflowapplication. It can be viewed as the logical graph structure of the application. - iridis_
message - This module defines
ArrowMessagetrait and its implementation for structs and enums. - thirdparty
Structs§
- Data
Layout - Represents the data layout of the application.
- Dataflow
Layout - Represents the a
Dataflowapplication! This is the main struct that contains all the data and debug layouts. - Dataflow
Message - Dataflow message. Cheap to clone
- Debug
Layout - Represents the debug layout of the application: the labels and the nodes/primitives relationship.
- Dynamically
Linked Node - This struct represents a dynamically linked node.
It loads the node from a shared library at runtime, storing the handle as a
Box<dyn Node>. It’s really important to store the library as well, because once the library is dropped the handle will be invalid. - Flow
Layout - Represents the flows of the application.
- Header
- Header for a dataflow message
- Input
- Typed Input to receive data from the dataflow
- InputID
- Represents a unique identifier for an Input in the graph.
- Inputs
- Inputs let you manage input connections during a node implementation
- Node
Data Layout - For internal use, this struct represents all the primitives belonging to a node. It is used to create the layout of the node.
- Node
Debug Layout - For internal use, this struct represents the debug layout of a node. It is used to store the labels of the primitives in the node.
- NodeID
- A unique identifier for a node in the graph, it’s composed of a label and a UUID. By design the only thing the runtime needs to know about a node is its UUID. But for debugging purposes, we also keep the label.
- Node
Layout - For internal use, this struct represents the layout of a node, both the data and the debug layout.
- Output
- Typed Output to receive data from the dataflow
- OutputID
- Represents a unique identifier for an Output in the graph.
- Outputs
- Outputs let you manage output connections during a node implementation
- Queries
- Queries let you manage query connections during a node implementation
- Query
- Typed Query to query data from the dataflow
- QueryID
- Represents a unique identifier for a Query in the graph.
- Queryable
- Typed Queryable to queryable data to the dataflow
- QueryableID
- Represents a unique identifier for a Queryable in the graph.
- Queryables
- Queryables let you manage queryable connections during a node implementation
- RawInput
- Not typed Input to receive data from the dataflow
- RawOutput
- Not typed Output to receive data from the dataflow
- RawQuery
- Not typed Query to receive data from the dataflow
- RawQueryable
- Not typed Queryable to receive data from the dataflow
- Shared
Data Layout - Represents a shared
Dataonly layout. It is used to construct aDataflowLayouteasily. - Typed
Dataflow Message - Typed dataflow message
Enums§
- PrimitiveID
- Represents a unique identifier for a primitive in the graph.
- Runtime
Node - This is the main enum of this module. It represents a node that can be either statically linked or dynamically linked, allowing the runtime to use either type of node interchangeably.
Traits§
- Arrow
Message - Trait to represent a message that can be converted to and from an Arrow array.
- Node
- The
Nodetrait defines the interface for all nodes in theiridisruntime.
Functions§
- extract_
union_ data - Helper function to extract data from a union array.
- get_
union_ fields - Helper function to get the union fields of a message.
- make_
union_ array - Helper function to create a union array.
- make_
union_ fields - Helper function to create a union field.
- unpack_
union - Helper function to unpack a union array.
Type Aliases§
- Dynamically
Linked Node Instance - The
DynamicallyLinkedNodeInstancetype is used for theCsymbolic function - Message
Receiver - MPSC Message receiver. Cannot be cloned
- Message
Sender - MPSC Message sender. Can be cloned, cheap to clone
Attribute Macros§
- node
- Use this macro to mark an
implblock on a node. This will alter thenewandstartmethods to return atokio::task::JoinHandlewith the provided runtime. The parameter must be a function that takes anasyncclosure and returns aJoinHandle.
Derive Macros§
- Arrow
Message - Apply this macro to a struct or enum to implement the
ArrowMessagetrait. - Node
- Apply this macro to a struct to generate the
Csymbols and the accordingtokio::runtime::Runtime.