iceoryx_posh 2.0.5
|
The UntypedSubscriberImpl class implements the untyped subscriber API. More...
#include <iceoryx_posh/internal/popo/untyped_subscriber_impl.hpp>
Public Types | |
using | BaseSubscriber = BaseSubscriberType |
using | SelfType = UntypedSubscriberImpl< BaseSubscriberType > |
Public Member Functions | |
UntypedSubscriberImpl (const capro::ServiceDescription &service, const SubscriberOptions &subscriberOptions=SubscriberOptions()) | |
UntypedSubscriberImpl (const UntypedSubscriberImpl &other)=delete | |
UntypedSubscriberImpl & | operator= (const UntypedSubscriberImpl &)=delete |
UntypedSubscriberImpl (UntypedSubscriberImpl &&rhs)=delete | |
UntypedSubscriberImpl & | operator= (UntypedSubscriberImpl &&rhs)=delete |
cxx::expected< const void *, ChunkReceiveResult > | take () noexcept |
Take the chunk from the top of the receive queue. | |
void | release (const void *const userPayload) noexcept |
Releases the ownership of the chunk provided by the user-payload pointer. | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
using | SelfType = BaseSubscriber< port_t > |
Only usable by the WaitSet, not for public use. Invalidates the internal triggerHandle. | |
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. | |
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 | |
![]() | |
port_t | m_port {nullptr} |
TriggerHandle | m_trigger |
The UntypedSubscriberImpl class implements the untyped subscriber API.
UntypedSubscriber
instead!
|
noexcept |
Releases the ownership of the chunk provided by the user-payload pointer.
userPayload | pointer to the user-payload of the chunk to be released |
The userPayload pointer must have been previously provided by take and not have been already released. The chunk must not be accessed afterwards as its memory may have been reclaimed.
|
noexcept |
Take the chunk from the top of the receive queue.
No automatic cleanup of the associated chunk is performed and must be manually done by calling release