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.

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.
CuGraph
IncludesConfig
Includes are used to include other configuration files.
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
MultiCopperConfig
Strict umbrella configuration describing multiple Copper subsystems and their explicit links.
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.
ResourceBundleConfig
Declarative definition of a resource bundle.
RuntimeConfig
ThreadPoolConfig
Declarative definition of a single thread pool.
Value
Wrapper around the ron::Value to allow for custom serialization.

Enums§

BackgroundConfig
How a task is backgrounded.
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.
Flavor
Distinguishes regular tasks from bridge nodes so downstream stages can apply bridge-specific instantiation rules.
HandleContent
Logging policy for a CuHandle’s payload content.
OnError
What to do when a pool’s affinity or scheduling request cannot be applied (for example, setting a real-time priority without CAP_SYS_NICE).
SchedulingPolicy
Scheduling policy applied to every worker thread of a ThreadPoolConfig.
TaskKind
Declares which Copper task trait a task node implements.

Constants§

DEFAULT_BACKGROUND_POOL
Default thread pool name used by background: true tasks.
DEFAULT_KEYFRAME_INTERVAL
DEFAULT_MISSION_ID
MAX_NICE
Highest valid niceness for SchedulingPolicy::Nice (least favorable).
MAX_RATE_TARGET_HZ
Maximum representable Copper runtime rate target in whole Hertz.
MAX_RT_PRIORITY
Largest valid real-time priority for SchedulingPolicy::Fifo/SchedulingPolicy::RoundRobin.
MIN_NICE
Lowest valid niceness for SchedulingPolicy::Nice (most favorable).
MIN_RT_PRIORITY
Smallest valid real-time priority for SchedulingPolicy::Fifo/SchedulingPolicy::RoundRobin.
NC_ENDPOINT
Special destination endpoint used to mark an output as intentionally not connected.
RT_POOL
Reserved thread pool name driving the parallel-rt execution engine. Applied to each stage worker at startup; never task-bound nor built as a rayon pool.

Functions§

infer_task_kind_for_id
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.
resolve_task_kind_for_id

Type Aliases§

NodeId
NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.