iox::popo::SubscriberImpl🔗
Inherits from iox::popo::BaseSubscriber<>
Public Types🔗
| Name | |
|---|---|
| using typename BaseSubscriber_t::PortType | PortType | 
| using SampleDeleter< PortType > | SubscriberSampleDeleter | 
Public Functions🔗
| 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.  | 
Additional inherited members🔗
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(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 | 
Detailed Description🔗
template <typename T ,
typename H  =iox::mepoo::NoUserHeader,
typename BaseSubscriber_t  =BaseSubscriber<>>
class iox::popo::SubscriberImpl;
Public Types Documentation🔗
using PortType🔗
using iox::popo::SubscriberImpl< T, H, BaseSubscriber_t >::PortType =  typename BaseSubscriber_t::PortType;
using SubscriberSampleDeleter🔗
using iox::popo::SubscriberImpl< T, H, BaseSubscriber_t >::SubscriberSampleDeleter =  SampleDeleter<PortType>;
Public Functions Documentation🔗
function SubscriberImpl🔗
inline SubscriberImpl(
    const capro::ServiceDescription & service,
    const SubscriberOptions & subscriberOptions =SubscriberOptions()
)
function SubscriberImpl🔗
SubscriberImpl(
    const SubscriberImpl & other
)
function operator=🔗
SubscriberImpl & operator=(
    const SubscriberImpl & 
)
function SubscriberImpl🔗
SubscriberImpl(
    SubscriberImpl && rhs
)
function operator=🔗
SubscriberImpl & operator=(
    SubscriberImpl && rhs
)
function ~SubscriberImpl🔗
inline virtual ~SubscriberImpl()
function take🔗
inline cxx::expected< Sample< const T, const H >, ChunkReceiveResult > take()
Take the samples from the top of the receive queue.
Return: Either a sample or a ChunkReceiveResult.
The sample takes care of the cleanup. Don't store the raw pointer to the content of the sample, but always the whole sample.
Updated on 17 June 2021 at 11:15:27 CEST