Class Subscriber
Defined in File Subscriber.h
Class Documentation
-
class Subscriber
Class Subscriber, contains the public API that allows the user to control the reception of messages. This class should not be instantiated directly. DomainRTPSParticipant class should be used to correctly create this element.
Public Functions
-
inline Subscriber(SubscriberImpl *pimpl)
Constructor from a SubscriberImpl pointer
- Parameters
pimpl – Actual implementation of the subscriber
-
inline void waitForUnreadMessage()
Method to block the current thread until an unread message is available
-
bool wait_for_unread_samples(const Duration_t &timeout)
Blocks the current thread until an unread sample is available.
- Parameters
timeout – Maximum time the function will be blocked if any sample is received.
- Returns
true in case unread samples are available. In other case, false.
-
bool readNextData(void *sample, SampleInfo_t *info)
Reads next unread sample from the Subscriber.
Note
This method is blocked for a period of time. ReliabilityQosPolicy.max_blocking_time on SubscriberAttributes defines this period of time.
- Parameters
sample – Pointer to the object where you want the sample stored.
info – Pointer to a SampleInfo_t structure that informs you about your sample.
- Returns
True if a sample was read.
-
bool takeNextData(void *sample, SampleInfo_t *info)
Takes next sample from the Subscriber. The sample is removed from the subscriber.
Note
This method is blocked for a period of time. ReliabilityQosPolicy.max_blocking_time on SubscriberAttributes defines this period of time.
- Parameters
sample – Pointer to the object where you want the sample stored.
info – Pointer to a SampleInfo_t structure that informs you about your sample.
- Returns
True if a sample was taken.
-
bool get_first_untaken_info(SampleInfo_t *info)
Returns information about the first untaken sample.
- Parameters
info – [out] Pointer to a SampleInfo_t structure to store first untaken sample information.
- Returns
true if sample info was returned. false if there is no sample to take.
-
bool updateAttributes(const SubscriberAttributes &att)
Update the Attributes of the subscriber;
- Parameters
att – Reference to a SubscriberAttributes object to update the parameters;
- Returns
True if correctly updated, false if ANY of the updated parameters cannot be updated
-
const SubscriberAttributes &getAttributes() const
Get the Attributes of the Subscriber.
- Returns
Attributes of the subscriber
-
bool isInCleanState() const
Returns there is a clean state with all Publishers. It occurs when the Subscriber received all samples sent by Publishers. In other words, its WriterProxies are up to date.
- Returns
There is a clean state with all Publishers.
-
inline uint64_t getUnreadCount() const
Get the unread count.
- Returns
Unread count
-
uint64_t get_unread_count() const
Get the unread count.
- Returns
Unread count
-
void get_requested_deadline_missed_status(RequestedDeadlineMissedStatus &status)
Get the requested deadline missed status.
- Parameters
status – The deadline missed status
-
void get_liveliness_changed_status(LivelinessChangedStatus &status)
Returns the liveliness changed status.
- Parameters
status – Liveliness changed status
-
void get_listening_locators(rtps::LocatorList_t &locators) const
Get the list of locators on which this subscriber is listening.
- Parameters
locators – [out] LocatorList_t where the list of locators will be stored.
-
inline Subscriber(SubscriberImpl *pimpl)