Skip to content

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.