Struct DiscoveryConfig

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”}}

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.