API Reference#
Stability Guarantee
All API signatures documented here are marked with AGNOCAST_PUBLIC in the source code.
These signatures are stable and will not break backward compatibility unless the
major version is incremented. See the versioning rules
for details.
Exception: The Service and Client APIs are experimental. Their signatures may introduce breaking changes without a major version increment.
| Section | Description |
|---|---|
| Free Functions (Stage 1) | Free functions for use with rclcpp::Node (create_publisher, create_subscription, etc.). |
| Type Aliases | User-facing type aliases (Publisher, Subscription, PollingSubscriber, etc.). |
agnocast::Node |
Agnocast-only node. |
agnocast::Publisher<MessageT> |
Zero-copy publisher that allocates messages in shared memory. |
agnocast::Subscription<MessageT> |
Event-driven subscription that invokes a callback on each new message. |
agnocast::TakeSubscription<MessageT> |
Polling-based subscription that retrieves messages on demand via take(). |
agnocast::PollingSubscriber<MessageT> |
Polling subscription that retrieves messages on demand. |
agnocast::ipc_shared_ptr<T> |
Smart pointer for zero-copy IPC message sharing between publishers and subscribers. |
agnocast::Client<ServiceT> |
Service client for zero-copy Agnocast service communication. |
agnocast::Service<ServiceT> |
Agnocast service server. |
agnocast::TimerBase |
Base class for Agnocast timers providing periodic callback execution. |
agnocast::GenericTimer<FunctorT> |
Timer that fires periodically using a user-provided clock. |
agnocast::WallTimer<FunctorT> |
Timer that uses a steady (wall) clock. |
| Executors | Single-threaded, multi-threaded, and callback-isolated executors for Stage 1 and Stage 2. |
| Options | PublisherOptions and SubscriptionOptions configuration structs. |
| Environment Variables | LD_PRELOAD, AGNOCAST_BRIDGE_MODE, and other runtime configuration variables. |
| Message Filters | Synchronizer, Subscriber filter, PassThrough, and time sync policies. |