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.

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> Service server for zero-copy Agnocast service communication.
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.