Template Class RealtimePublisher

Class Documentation

template<class Msg>
class RealtimePublisher

Public Functions

inline explicit RealtimePublisher(PublisherSharedPtr publisher)

Constructor for the realtime publisher.

Parameters:

publisher – the publisher to wrap

inline RealtimePublisher()
inline ~RealtimePublisher()

Destructor.

inline void stop()

Stop the realtime publisher from sending out more ROS messages.

inline bool trylock()

Try to get the data lock from realtime.

To publish data from the realtime loop, you need to run trylock to attempt to get unique access to the msg_ variable. Trylock returns true if the lock was acquired, and false if it failed to get the lock.

inline void unlockAndPublish()

Unlock the msg_ variable.

After a successful trylock and after the data is written to the mgs_ variable, the lock has to be released for the message to get published on the specified topic.

inline void lock()

Get the data lock form non-realtime.

To publish data from the realtime loop, you need to run trylock to attempt to get unique access to the msg_ variable. Trylock returns true if the lock was acquired, and false if it failed to get the lock.

inline void unlock()

Unlocks the data without publishing anything.

Public Members

Msg msg_

The msg_ variable contains the data that will get published on the ROS topic.