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§
- 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.
- CuGraph
- Includes
Config - Includes are used to include other configuration files.
- 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 Config - Strict umbrella configuration describing multiple Copper subsystems and their explicit links.
- 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.
- Resource
Bundle Config - Declarative definition of a resource bundle.
- Runtime
Config - Thread
Pool Config - Declarative definition of a single thread pool.
- Value
- Wrapper around the ron::Value to allow for custom serialization.
Enums§
- Background
Config - How a task is backgrounded.
- 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. - Flavor
- Distinguishes regular tasks from bridge nodes so downstream stages can apply bridge-specific instantiation rules.
- Handle
Content - 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). - Scheduling
Policy - Scheduling policy applied to every worker thread of a
ThreadPoolConfig. - Task
Kind - Declares which Copper task trait a task node implements.
Constants§
- DEFAULT_
BACKGROUND_ POOL - Default thread pool name used by
background: truetasks. - 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-rtexecution 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.