Skip to main content

Module config

Module config 

Source
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ยง

pub use petgraph::Direction::Incoming;
pub use petgraph::Direction::Outgoing;

Modulesยง

imp ๐Ÿ”’

Macrosยง

impl_from_numeric_for_value ๐Ÿ”’
impl_from_value_for_int ๐Ÿ”’
impl_try_from_value_for_int ๐Ÿ”’

Structsยง

BridgeConfig
Declarative definition of a bridge component with a list of channels.
Cnx
This represents a connection between 2 tasks (nodes) in the configuration graph.
ComponentConfig
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.
ConfigError
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.
CuConfigRepresentation ๐Ÿ”’
This is the main Copper configuration representation.
CuGraph
IncludesConfig
Includes are used to include other configuration files.
InstanceConfigOverridesRepresentation ๐Ÿ”’
InstanceConfigSetOperation
One path-based config overlay applied to a parsed local Copper config.
LoggingCodecSpec
LoggingConfig
MissionsConfig
Missions are used to generate alternative DAGs within the same configuration.
MonitorConfig
MultiCopperChannelContract ๐Ÿ”’
MultiCopperConfig
Strict umbrella configuration describing multiple Copper subsystems and their explicit links.
MultiCopperConfigRepresentation ๐Ÿ”’
MultiCopperEndpoint
Typed endpoint reference used by validated multi-Copper interconnects.
MultiCopperInterconnect
Validated explicit interconnect between two subsystem endpoints.
MultiCopperInterconnectConfig
One explicit interconnect between two subsystem bridge channels.
MultiCopperSubsystem
Validated subsystem entry with its compiler-assigned numeric subsystem code and parsed local Copper config.
MultiCopperSubsystemConfig
One subsystem participating in a multi-Copper deployment.
Node
A node in the configuration graph. A node represents a Task in the system Graph.
NodeLogging
Configuration for logging in the node.
PortLookup ๐Ÿ”’
RenderConnection ๐Ÿ”’
RenderNode ๐Ÿ”’
RenderSection ๐Ÿ”’
RenderTopology ๐Ÿ”’
ResourceBundleConfig
Declarative definition of a resource bundle.
RuntimeConfig
SerializedCnx ๐Ÿ”’
Serialized representation of a connection used for the RON config.
Value
Wrapper around the ron::Value to allow for custom serialization.

Enumsยง

BridgeChannelConfigRepresentation
Directional mapping for bridge channels.
ConfigGraphs
CuDirection
A simple wrapper enum for petgraph::Direction, designed to be converted into it via the From trait.
EndpointRole ๐Ÿ”’
Flavor
Distinguishes regular tasks from bridge nodes so downstream stages can apply bridge-specific instantiation rules.
InstanceConfigTargetKind ๐Ÿ”’
MultiCopperChannelDirection ๐Ÿ”’
OneOrManyMonitorConfig ๐Ÿ”’

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.