Expand description
This prelude contains everything you need to use this crate.
Re-exports§
pub use iridis_file_ext;
Modules§
- iridis_
node - This module contains everything to write an
iridisnode. - iridis_
runtime_ core - This module defines the
coreelements common to crates related to theruntime. - 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 File ExtPlugin - This struct represents a dynamically linked Plugin.
It loads the plugin from a shared library at runtime, storing the handle as a
Box<dyn FileExtPlugin>. It’s really important to store the library as well, because once the library is dropped the handle will be invalid. - 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. - Dynamically
Linked UrlScheme Plugin - This struct represents a dynamically linked Plugin.
It loads the plugin from a shared library at runtime, storing the handle as a
Box<dyn UrlSchemePlugin>. It’s really important to store the library as well, because once the library is dropped the handle will be invalid. - File
ExtLoader - Use this struct to load and store the plugins.
- File
ExtManager - Use this struct to load files according to their extension.
- 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
- UrlScheme
Loader - Use this struct to load and store the plugins.
- UrlScheme
Manager - Use this struct to load files according to their url.
Enums§
- PrimitiveID
- Represents a unique identifier for a primitive in the graph.
- Runtime
File Ext - This is the main enum of this module. It represents a plugin that can be either statically linked or dynamically linked, allowing the runtime to use either type of plugin interchangeably.
- 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.
- Runtime
UrlScheme - This is the main enum of this module. It represents a plugin that can be either statically linked or dynamically linked, allowing the runtime to use either type of plugin interchangeably.
Traits§
- Arrow
Message - Trait to represent a message that can be converted to and from an Arrow array.
- File
ExtPlugin - This trait must be implemented in order to make a plugin compatible with the
iridis_file_extcrate. - Node
- The
Nodetrait defines the interface for all nodes in theiridisruntime. - UrlScheme
Plugin - This trait must be implemented in order to make a plugin compatible with the
iridis_url_schemecrate.
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 File ExtPlugin Instance - This type is used to represent the return type of the
Csymbolic function that instantiates the plugin. - Dynamically
Linked Node Instance - The
DynamicallyLinkedNodeInstancetype is used for theCsymbolic function - Dynamically
Linked UrlScheme Plugin Instance - This type is used to represent the return type of the
Csymbolic function that instantiates the plugin. - Message
Receiver - MPSC Message receiver. Cannot be cloned
- Message
Sender - MPSC Message sender. Can be cloned, cheap to clone
Attribute Macros§
- file_
ext_ plugin - Use this macro to mark an
implblock on a file extension plugin. This will alter thenewandloadmethods to return atokio::task::JoinHandlewith the provided runtime. The parameter must be a function that takes anasyncclosure and returns aJoinHandle. - 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. - url_
scheme_ plugin - Use this macro to mark an
implblock on a url scheme plugin. This will alter thenewandloadmethods 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. - File
ExtPlugin - Apply this macro to a struct to generate the
Csymbols and the accordingtokio::runtime::Runtime. - Node
- Apply this macro to a struct to generate the
Csymbols and the accordingtokio::runtime::Runtime. - UrlScheme
Plugin - Apply this macro to a struct to generate the
Csymbols and the accordingtokio::runtime::Runtime.