Skip to main content

Module node_metadata

Module node_metadata 

Source
Expand description

Node source metadata recorded without opening middleware.

Structs§

CallbackEffectMetadata
Recorded optional callback effect.
CallbackId
Stable callback identifier required for component-mode callbacks.
CallbackSlot
Declaration-order callback slot within one extracted component.
EntityId
Stable source-level identifier required for component-mode declarations.
EntityMetadata
Recorded entity declaration.
EntityMetadataSpec
Inputs for entity_metadata. Collapses the seven positional arguments — three of them adjacent &str (source_name / type_name / type_hash) that are trivially transposable at a call site — into one named-field struct. phase-308 — pub alongside MetadataRecorder::push_entity: metadata-mode adapters for other languages build entities through this ONE constructor so the defaults (and therefore the recorded shape) cannot diverge per language.
EntitySlot
Declaration-order entity slot within one extracted component.
MetadataRecorder
In-memory metadata sink used by host discovery. It never opens transport.
NodeId
Stable node identifier required for component-mode node declarations.
NodeMetadata
Recorded node declaration.
NodeSlot
Declaration-order node slot within one extracted component.
SourceLocationMetadata
Source location attached to callbacks and parameters.
SourceMetadataExport
Source metadata document settings used by the std JSON emitter.

Enums§

CallbackEffectKind
Optional callback effect relation.
EntityKind
Entity role recorded for source metadata.
NodeMetadataError
Metadata recorder/runtime error.
ParameterDefault
Parameter default value recorded for source metadata.
SourceNameKind
Unresolved ROS name category as written by component source.

Constants§

DEFAULT_MAX_METADATA_CALLBACKS
Maximum callback/effect records kept by the built-in metadata recorder.
DEFAULT_MAX_METADATA_ENTITIES
Maximum entities recorded by the built-in metadata recorder.
DEFAULT_MAX_METADATA_NODES
Maximum nodes recorded by the built-in metadata recorder.
MAX_RESOLVED_NAME_LEN
Phase 305 W3 (issue 0255) — the ONE name-resolution seam: ROS 2 source-name expansion (~/relative → FQN, ns=/ collapse) + launch remap substitution (exact-FQN match, first rule wins; no wildcards). Implemented in nros_node::names so both the Rust ExecutorSink and the C-ABI executor-side remap table share one lowering; re-exported here next to SourceNameKind as the source-metadata-level entry point. Maximum bytes in a fully-qualified resolved entity name. Matches nros::node_metadata::METADATA_STRING_CAPACITY (the source-name bound entering the resolution seam).
METADATA_STRING_CAPACITY
Maximum bytes in recorded source names and stable IDs.

Functions§

entity_metadata
Build an EntityMetadata from its identifying fields, defaulting the rest. See EntityMetadataSpec for why this is public.
expand_name
Phase 305 W3 (issue 0255) — the ONE name-resolution seam: ROS 2 source-name expansion (~/relative → FQN, ns=/ collapse) + launch remap substitution (exact-FQN match, first rule wins; no wildcards). Implemented in nros_node::names so both the Rust ExecutorSink and the C-ABI executor-side remap table share one lowering; re-exported here next to SourceNameKind as the source-metadata-level entry point. Expand a source-level ROS name to its fully-qualified form (ROS 2 name expansion rules):
metadata_string
phase-308 — pub for metadata-mode adapters (see MetadataRecorder::push_node); the capacity error is theirs to surface.
resolve_name
Phase 305 W3 (issue 0255) — the ONE name-resolution seam: ROS 2 source-name expansion (~/relative → FQN, ns=/ collapse) + launch remap substitution (exact-FQN match, first rule wins; no wildcards). Implemented in nros_node::names so both the Rust ExecutorSink and the C-ABI executor-side remap table share one lowering; re-exported here next to SourceNameKind as the source-metadata-level entry point. Resolve a source-level entity name through launch remap rules: expand the source name AND each rule’s from to fully-qualified form, compare exact, substitute the (also expanded) to of the first matching rule; no match → the expanded source name. A rule whose from/to fails to expand is skipped (never masks the name expansion itself).

Type Aliases§

MetadataString
Fixed-capacity string used by component metadata records.
ResolvedName
Phase 305 W3 (issue 0255) — the ONE name-resolution seam: ROS 2 source-name expansion (~/relative → FQN, ns=/ collapse) + launch remap substitution (exact-FQN match, first rule wins; no wildcards). Implemented in nros_node::names so both the Rust ExecutorSink and the C-ABI executor-side remap table share one lowering; re-exported here next to SourceNameKind as the source-metadata-level entry point. Owned storage for a resolved (fully-qualified) entity name.