iceoryx_posh 2.0.3
|
The SubscriberImpl class implements the typed subscriber API. More...
#include <iceoryx_posh/internal/popo/subscriber_impl.hpp>
Public Types | |
using | PortType = typename BaseSubscriberType::PortType |
using | SubscriberSampleDeleter = SampleDeleter< PortType > |
Public Member Functions | |
SubscriberImpl (const capro::ServiceDescription &service, const SubscriberOptions &subscriberOptions=SubscriberOptions()) noexcept | |
SubscriberImpl (const SubscriberImpl &other)=delete | |
SubscriberImpl & | operator= (const SubscriberImpl &)=delete |
SubscriberImpl (SubscriberImpl &&rhs)=delete | |
SubscriberImpl & | operator= (SubscriberImpl &&rhs)=delete |
cxx::expected< Sample< const T, const H >, ChunkReceiveResult > | take () noexcept |
Take the samples from the top of the receive queue. More... | |
![]() | |
uid_t | getUid () const noexcept |
uid Get the unique ID of the subscriber. More... | |
capro::ServiceDescription | getServiceDescription () const noexcept |
getServiceDescription Get the service description of the subscriber. More... | |
void | subscribe () noexcept |
subscribe Initiate subscription. More... | |
SubscribeState | getSubscriptionState () const noexcept |
getSubscriptionState Get current subscription state. More... | |
void | unsubscribe () noexcept |
unsubscribe Unsubscribes if currently subscribed, otherwise do nothing. | |
bool | hasData () const noexcept |
Check if data is available. More... | |
bool | hasMissedData () noexcept |
Check if data has been missed since the last call of this method. More... | |
void | releaseQueuedData () noexcept |
Releases any unread queued data. | |
Additional Inherited Members | |
![]() | |
using | SelfType = BaseSubscriber< port_t > |
Only usable by the WaitSet, not for public use. Invalidates the internal triggerHandle. More... | |
using | PortType = port_t |
![]() | |
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. More... | |
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. More... | |
void | disableState (const SubscriberState subscriberState) noexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle. More... | |
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. More... | |
void | disableEvent (const SubscriberEvent subscriberEvent) noexcept |
Only usable by the WaitSet, not for public use. Resets the internal triggerHandle. More... | |
const port_t & | port () const noexcept |
const accessor of the underlying port | |
port_t & | port () noexcept |
accessor of the underlying port | |
![]() | |
port_t | m_port {nullptr} |
TriggerHandle | m_trigger |
The SubscriberImpl class implements the typed subscriber API.
Subscriber
instead!
|
noexcept |
Take the samples from the top of the receive queue.
The sample takes care of the cleanup. Don't store the raw pointer to the content of the sample, but always the whole sample.