Class RuntimeLayer

Inheritance Relationships

Base Type

Class Documentation

class RuntimeLayer : public ros2_medkit_gateway::discovery::DiscoveryLayer

Discovery layer wrapping RuntimeDiscoveryStrategy.

Default policies: IDENTITY=FALLBACK, HIERARCHY=FALLBACK, LIVE_DATA=AUTH, STATUS=AUTH, METADATA=ENRICH

Public Functions

explicit RuntimeLayer(RuntimeDiscoveryStrategy *runtime_strategy)
inline virtual std::string name() const override

Human-readable layer name (e.g., “manifest”, “runtime”, plugin name)

inline virtual bool provides_runtime_apps() const override

Whether this layer provides runtime apps for post-merge linking. Only RuntimeLayer (or test doubles) should return true.

virtual LayerOutput discover() override

Discover entities from this layer’s source.

virtual MergePolicy policy_for(FieldGroup group) const override

Merge policy this layer uses for the given field group.

void set_policy(FieldGroup group, MergePolicy policy)
void set_gap_fill_config(GapFillConfig config)
inline virtual size_t filtered_count() const override

Number of entities filtered by gap-fill config in last discover()

inline virtual std::vector<App> get_linking_apps() const override

Return unfiltered runtime apps for post-merge linking. Gap-fill may exclude apps from discover() output, but the linker needs all runtime apps to bind manifest apps to live nodes.

std::vector<ServiceInfo> discover_services()

Direct access to runtime services (for operation/data endpoints, not part of pipeline)

std::vector<ActionInfo> discover_actions()