Skip to content

iox::popo::Subscriber🔗

The Subscriber class for the publish-subscribe messaging pattern in iceoryx. More...

#include <iceoryx_posh/popo/subscriber.hpp>

Inherits from iox::popo::SubscriberImpl< T, mepoo::NoUserHeader >, iox::popo::BaseSubscriber<>

Public Functions🔗

Name
virtual ~Subscriber()

Additional inherited members🔗

Public Types inherited from iox::popo::SubscriberImpl< T, mepoo::NoUserHeader >

Name
using typename BaseSubscriberType::PortType PortType
using SampleDeleter< PortType > SubscriberSampleDeleter

Public Functions inherited from iox::popo::SubscriberImpl< T, mepoo::NoUserHeader >

Name
SubscriberImpl(const capro::ServiceDescription & service, const SubscriberOptions & subscriberOptions =SubscriberOptions())
SubscriberImpl(const SubscriberImpl & other)
SubscriberImpl & operator=(const SubscriberImpl & )
SubscriberImpl(SubscriberImpl && rhs)
SubscriberImpl & operator=(SubscriberImpl && rhs)
virtual ~SubscriberImpl()
cxx::expected< Sample< const T, const H >, ChunkReceiveResult > take()
Take the samples from the top of the receive queue.

Protected Types inherited from iox::popo::BaseSubscriber<>

Name
using BaseSubscriber< port_t > SelfType
Only usable by the WaitSet, not for public use. Invalidates the internal triggerHandle.
using port_t PortType

Public Functions inherited from iox::popo::BaseSubscriber<>

Name
virtual ~BaseSubscriber()
uid_t getUid() const
uid Get the unique ID of the subscriber.
capro::ServiceDescription getServiceDescription() const
getServiceDescription Get the service description of the subscriber.
void subscribe()
subscribe Initiate subscription.
SubscribeState getSubscriptionState() const
getSubscriptionState Get current subscription state.
void unsubscribe()
unsubscribe Unsubscribes if currently subscribed, otherwise do nothing.
bool hasData() const
Check if data is available.
bool hasMissedData()
Check if data has been missed since the last call of this method.
void releaseQueuedData()
Releases any unread queued data.

Protected Functions inherited from iox::popo::BaseSubscriber<>

Name
BaseSubscriber()
BaseSubscriber(const capro::ServiceDescription & service, const SubscriberOptions & subscriberOptions)
BaseSubscriber(const BaseSubscriber & other)
BaseSubscriber & operator=(const BaseSubscriber & )
BaseSubscriber(BaseSubscriber && rhs)
BaseSubscriber & operator=(BaseSubscriber && rhs)
cxx::expected< const mepoo::ChunkHeader *, ChunkReceiveResult > takeChunk()
small helper method to unwrap the expected<optional<ChunkHeader*>> from the tryGetChunk method of the port
void invalidateTrigger(const uint64_t trigger)
void enableState(iox::popo::TriggerHandle && triggerHandle, const SubscriberState subscriberState)
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger.
WaitSetIsConditionSatisfiedCallback getCallbackForIsStateConditionSatisfied(const SubscriberState subscriberState) const
Only usable by the WaitSet, not for public use. Returns method pointer to the event corresponding hasTriggered method callback.
void disableState(const SubscriberState subscriberState)
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle.
void enableEvent(iox::popo::TriggerHandle && triggerHandle, const SubscriberEvent subscriberState)
Only usable by the WaitSet, not for public use. Attaches the triggerHandle to the internal trigger.
void disableEvent(const SubscriberEvent subscriberEvent)
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle.
const port_t & port() const
const accessor of the underlying port
port_t & port()
accessor of the underlying port

Protected Attributes inherited from iox::popo::BaseSubscriber<>

Name
port_t m_port
TriggerHandle m_trigger

Friends inherited from iox::popo::BaseSubscriber<>

Name
class NotificationAttorney
class iox::runtime::ServiceDiscovery

Detailed Description🔗

template <typename T ,
typename H  =mepoo::NoUserHeader>
class iox::popo::Subscriber;

The Subscriber class for the publish-subscribe messaging pattern in iceoryx.

Parameters:

  • T user payload type
  • H user header type

Public Functions Documentation🔗

function ~Subscriber🔗

inline virtual ~Subscriber()

Updated on 18 December 2023 at 13:02:35 CET