iceoryx_posh 2.0.5
|
base class for all types of subscriber More...
#include <iceoryx_posh/internal/popo/base_subscriber.hpp>
Public Member Functions | |
uid_t | getUid () const noexcept |
uid Get the unique ID of the subscriber. | |
capro::ServiceDescription | getServiceDescription () const noexcept |
getServiceDescription Get the service description of the subscriber. | |
void | subscribe () noexcept |
subscribe Initiate subscription. | |
SubscribeState | getSubscriptionState () const noexcept |
getSubscriptionState Get current subscription state. | |
void | unsubscribe () noexcept |
unsubscribe Unsubscribes if currently subscribed, otherwise do nothing. | |
bool | hasData () const noexcept |
Check if data is available. | |
bool | hasMissedData () noexcept |
Check if data has been missed since the last call of this method. | |
void | releaseQueuedData () noexcept |
Releases any unread queued data. | |
Protected Types | |
using | SelfType = BaseSubscriber< port_t > |
Only usable by the WaitSet, not for public use. Invalidates the internal triggerHandle. | |
using | PortType = port_t |
Protected Member Functions | |
BaseSubscriber (const capro::ServiceDescription &service, const SubscriberOptions &subscriberOptions) noexcept | |
BaseSubscriber (const BaseSubscriber &other)=delete | |
BaseSubscriber & | operator= (const BaseSubscriber &)=delete |
BaseSubscriber (BaseSubscriber &&rhs)=delete | |
BaseSubscriber & | operator= (BaseSubscriber &&rhs)=delete |
cxx::expected< const mepoo::ChunkHeader *, ChunkReceiveResult > | takeChunk () noexcept |
small helper method to unwrap the expected<optional<ChunkHeader*>> from the tryGetChunk method of the port | |
void | invalidateTrigger (const uint64_t trigger) noexcept |
void | enableState (iox::popo::TriggerHandle &&triggerHandle, const SubscriberState subscriberState) noexcept |
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger. | |
WaitSetIsConditionSatisfiedCallback | getCallbackForIsStateConditionSatisfied (const SubscriberState subscriberState) const noexcept |
Only usable by the WaitSet, not for public use. Returns method pointer to the event corresponding hasTriggered method callback. | |
void | disableState (const SubscriberState subscriberState) noexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle. | |
void | enableEvent (iox::popo::TriggerHandle &&triggerHandle, const SubscriberEvent subscriberState) noexcept |
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger. | |
void | disableEvent (const SubscriberEvent subscriberEvent) noexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle. | |
const port_t & | port () const noexcept |
const accessor of the underlying port | |
port_t & | port () noexcept |
accessor of the underlying port | |
Protected Attributes | |
port_t | m_port {nullptr} |
TriggerHandle | m_trigger |
Friends | |
class | NotificationAttorney |
class | iox::runtime::ServiceDiscovery |
base class for all types of subscriber
[in] | port_t | type of the underlying port, required for testing |
Subscriber
or UntypedSubscriber
instead!
|
protected |
|
protectednoexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle.
[in] | subscriberEvent | the event which should be detached |
|
protectednoexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle.
[in] | subscriberState | the state which should be detached |
|
protectednoexcept |
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger.
[in] | triggerHandle | rvalue reference to the triggerHandle. This class takes the ownership of that handle. |
[in] | subscriberEvent | the event which should be attached |
|
protectednoexcept |
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger.
[in] | triggerHandle | rvalue reference to the triggerHandle. This class takes the ownership of that handle. |
[in] | subscriberState | the state which should be attached |
|
protectednoexcept |
Only usable by the WaitSet, not for public use. Returns method pointer to the event corresponding hasTriggered method callback.
[in] | subscriberState | the state to which the hasTriggeredCallback is required |
|
noexcept |
getServiceDescription Get the service description of the subscriber.
|
noexcept |
getSubscriptionState Get current subscription state.
|
noexcept |
uid Get the unique ID of the subscriber.
|
noexcept |
Check if data is available.
|
noexcept |
Check if data has been missed since the last call of this method.
Data may be missed due to overflowing receive queue.
|
noexcept |
subscribe Initiate subscription.