Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Rust API

The Rust user-facing surface lives in the nros umbrella crate. Generated by rustdoc --no-deps; always reflects the current main branch.

API reference

nros rustdoc — start here.

That single crate re-exports every type a user application needs: Executor, Node, Publisher<M>, Subscription<M>, Service<S>, Client<S>, ActionServer<A>, ActionClient<A>, Timer, GuardCondition, plus the nros::prelude glob-import.

Where to start

  • New to nano-ros? → nros::prelude
  • Two-layer API (L1 polling vs L2 callback)? → Two-Layer API — concept page with the verb discipline and per-layer use cases.
  • Executor-driven app? → nros::Executor
  • Async/spin_async? → nros::dds_async (re-exports of the async surface)

Generating locally

cargo doc --no-deps -p nros --open

Internals (porting only)

These crates are not part of the user API. They surface only when writing a custom RMW backend or porting to a new platform — see Custom RMW Backend / Custom Platform.