Expand description
This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.
Re-exportsยง
Modulesยง
- imp ๐
Macrosยง
Structsยง
- Bridge
Config - Declarative definition of a bridge component with a list of channels.
- Cnx
- This represents a connection between 2 tasks (nodes) in the configuration graph.
- Component
Config - This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.
- Config
Error - CuConfig
- CuConfig is the programmatic representation of the configuration graph. It is a directed graph where nodes are tasks and edges are connections between tasks.
- CuConfig
Representation ๐ - This is the main Copper configuration representation.
- CuGraph
- Includes
Config - Includes are used to include other configuration files.
- Instance
Config ๐Overrides Representation - Instance
Config SetOperation - One path-based config overlay applied to a parsed local Copper config.
- Logging
Codec Spec - Logging
Config - Missions
Config - Missions are used to generate alternative DAGs within the same configuration.
- Monitor
Config - Multi
Copper ๐Channel Contract - Multi
Copper Config - Strict umbrella configuration describing multiple Copper subsystems and their explicit links.
- Multi
Copper ๐Config Representation - Multi
Copper Endpoint - Typed endpoint reference used by validated multi-Copper interconnects.
- Multi
Copper Interconnect - Validated explicit interconnect between two subsystem endpoints.
- Multi
Copper Interconnect Config - One explicit interconnect between two subsystem bridge channels.
- Multi
Copper Subsystem - Validated subsystem entry with its compiler-assigned numeric subsystem code and parsed local Copper config.
- Multi
Copper Subsystem Config - One subsystem participating in a multi-Copper deployment.
- Node
- A node in the configuration graph. A node represents a Task in the system Graph.
- Node
Logging - Configuration for logging in the node.
- Port
Lookup ๐ - Render
Connection ๐ - Render
Node ๐ - Render
Section ๐ - Render
Topology ๐ - Resource
Bundle Config - Declarative definition of a resource bundle.
- Runtime
Config - Serialized
Cnx ๐ - Serialized representation of a connection used for the RON config.
- Value
- Wrapper around the ron::Value to allow for custom serialization.
Enumsยง
- Bridge
Channel Config Representation - Directional mapping for bridge channels.
- Config
Graphs - CuDirection
- A simple wrapper enum for
petgraph::Direction, designed to be converted into it via theFromtrait. - Endpoint
Role ๐ - Flavor
- Distinguishes regular tasks from bridge nodes so downstream stages can apply bridge-specific instantiation rules.
- Instance
Config ๐Target Kind - Multi
Copper ๐Channel Direction - OneOr
Many ๐Monitor Config
Constantsยง
- DEFAULT_
KEYFRAME_ INTERVAL - DEFAULT_
MISSION_ ID - MAX_
RATE_ TARGET_ HZ - Maximum representable Copper runtime rate target in whole Hertz.
- NC_
ENDPOINT - Special destination endpoint used to mark an output as intentionally not connected.
Functionsยง
- apply_
bridge_ ๐node_ config_ override_ to_ graph - apply_
instance_ ๐config_ set_ operation - apply_
instance_ ๐overrides - apply_
instance_ ๐overrides_ from_ file - apply_
task_ ๐config_ override_ to_ graph - build_
bridge_ ๐lookup - build_
config_ ๐table - build_
multi_ ๐bridge_ channel_ contracts - build_
port_ ๐table - build_
render_ ๐topology - config_
representation_ ๐to_ config - Convert a CuConfigRepresentation to a CuConfig. Uses the deserialize_impl method and validates the logging configuration.
- default_
as_ ๐true - default_
keyframe_ ๐interval - deserialize_
config_ ๐representation - Shared implementation for deserializing a CuConfigRepresentation into a CuConfig
- deserialize_
monitor_ ๐configs - escape_
dot_ ๐id - format_
endpoint ๐ - insert_
bridge_ ๐node - merge_
component_ ๐config - merge_
connection_ ๐missions - mission_
applies ๐ - multi_
channel_ ๐key - parse_
config_ ๐string - Read a copper configuration from a String. Parse a RON string into a CuConfigRepresentation, using the standard options. Returns an error if the parsing fails.
- parse_
endpoint ๐ - parse_
instance_ ๐config_ overrides_ string - parse_
instance_ ๐override_ target - parse_
multi_ ๐config_ string - parse_
multi_ ๐endpoint - process_
includes ๐ - Returns a merged CuConfigRepresentation.
- read_
configuration - Read a copper configuration from a file.
- read_
configuration_ str - read_
multi_ configuration - Read a strict multi-Copper umbrella configuration from a file.
- read_
multi_ configuration_ str - Read a strict multi-Copper umbrella configuration from a string.
- register_
multi_ ๐channel_ msg - register_
nc_ ๐output - resolve_
relative_ ๐config_ path - ron_
value_ ๐to_ cu_ value - sanitize_
identifier ๐ - substitute_
parameters ๐ - validate_
bridge_ ๐channel - validate_
multi_ ๐config_ representation
Type Aliasesยง
- NodeId
- NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.