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§

BufferedRow
Issue 1648 – the BUFFERED registration row a subscription claimed, as the registration funnel observed it.
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.
TimerKind
phase-463 W1 – which executor-side entry a recorded slot row came through.

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.
SOURCE_METADATA_SCHEMA_VERSION
The source-metadata sidecar schema version this module emits.

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):
fully_qualified_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. A node’s fully-qualified name, joined from its two halves.
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.