Struct DiscoveryConfig
Defined in File discovery_manager.hpp
Nested Relationships
Nested Types
Struct Documentation
-
struct DiscoveryConfig
Configuration for discovery.
Public Members
-
DiscoveryMode mode = {DiscoveryMode::RUNTIME_ONLY}
-
std::string manifest_path
-
bool manifest_strict_validation = {true}
-
bool manifest_enabled = {true}
-
bool runtime_enabled = {true}
-
struct ros2_medkit_gateway::DiscoveryConfig::RuntimeOptions runtime
-
struct ros2_medkit_gateway::DiscoveryConfig::MergePipelineConfig merge_pipeline
-
struct MergePipelineConfig
Merge pipeline configuration (hybrid mode only)
Public Members
-
discovery::GapFillConfig gap_fill
-
std::map<std::string, std::map<std::string, std::string>> layer_policies
Per-layer merge policy overrides: layer_name -> (field_group_name -> policy_name) e.g. {“manifest”: {“live_data”: “authoritative”}, “runtime”: {“identity”: “authoritative”}}
-
discovery::GapFillConfig gap_fill
-
struct RuntimeOptions
Runtime (heuristic) discovery options.
These options control how the heuristic discovery strategy maps ROS 2 graph entities to SOVD entities.
Note: Synthetic/heuristic Area and Component creation has been removed. Areas come from manifest only. Components come from HostInfoProvider or manifest. Namespaces create Function entities.
Public Members
-
bool create_functions_from_namespaces = {true}
Create Function entities from ROS 2 namespace grouping.
When true (default), namespaces are mapped to Function entities. Each Function hosts the Apps in that namespace. This is the SOVD-correct mapping: namespaces represent functional grouping, not deployment topology.
-
bool default_component_enabled = {true}
Create a default Component from HostInfoProvider.
When true (default), a single host-level Component is created from system info (hostname, OS, arch) instead of synthetic per-namespace Components. All discovered Apps are linked to this Component via the is-located-on relationship. Only used in runtime_only mode.
-
bool filter_internal_nodes = {true}
Filter ROS 2 internal nodes from entity discovery.
When true (default), apps whose ID starts with underscore (_) are filtered out. These are ROS 2 infrastructure nodes like _param_client_node that should not appear as SOVD entities. Applies to both local and peer-discovered apps.
-
bool create_functions_from_namespaces = {true}
-
DiscoveryMode mode = {DiscoveryMode::RUNTIME_ONLY}