Skip to content

iox::popo🔗

Namespaces🔗

Name
iox::popo::internal

Classes🔗

Name
class iox::popo::BaseClient
The BaseClient class contains the common implementation for the different clients.
class iox::popo::BasePublisher
The BasePublisher class contains the common implementation for the different publisher specializations.
class iox::popo::BaseServer
The BaseServer class contains the common implementation for the different server.
class iox::popo::BaseSubscriber
base class for all types of subscriber
class iox::popo::ChunkSender
class iox::popo::Client
The Client class for the request-response messaging pattern in iceoryx.
class iox::popo::ClientImpl
The ClientImpl class implements the typed client API.
struct iox::popo::ClientOptions
This struct is used to configure the client.
struct iox::popo::EventBasedTrigger_t
struct iox::popo::EventCallback
class iox::popo::Listener
class iox::popo::ListenerImpl
The Listener is a class which reacts to registered events by executing a corresponding callback concurrently. This is achieved via an encapsulated thread inside this class.
class iox::popo::NotificationAttorney
Class which allows accessing private methods to friends of NotificationAttorney. Used for example by the WaitSet. Implements the Client-Attorney Pattern.
struct iox::popo::NotificationCallback
the struct describes a callback with a user defined type which can be attached to a WaitSet or a Listener
class iox::popo::NotificationInfo
NotificationInfo holds the state of a trigger like the pointer to the triggerOrigin, the notification id and the callback.
class iox::popo::Publisher
The Publisher class for the publish-subscribe messaging pattern in iceoryx.
class iox::popo::PublisherImpl
The PublisherImpl class implements the typed publisher API.
class iox::popo::PublisherInterface
struct iox::popo::PublisherOptions
This struct is used to configure the publisher.
class iox::popo::Request
The Request class is a mutable abstraction over types which are written to loaned shared memory. These requests are sent to the server via the iceoryx system.
class iox::popo::RequestHeader
class iox::popo::Response
The Response class is a mutable abstraction over types which are written to loaned shared memory. These responses are sent to the client via the iceoryx system.
class iox::popo::ResponseHeader
class iox::popo::RpcBaseHeader
class iox::popo::RpcInterface
class iox::popo::Sample
The Sample class is a mutable abstraction over types which are written to loaned shared memory. These samples are publishable to the iceoryx system.
class iox::popo::Server
The Server class for the request-response messaging pattern in iceoryx.
class iox::popo::ServerImpl
The ServerImpl class implements the typed server API.
struct iox::popo::ServerOptions
This struct is used to configure the server.
struct iox::popo::StateBasedTrigger_t
class iox::popo::Subscriber
The Subscriber class for the publish-subscribe messaging pattern in iceoryx.
class iox::popo::SubscriberImpl
The SubscriberImpl class implements the typed subscriber API.
struct iox::popo::SubscriberOptions
This struct is used to configure the subscriber.
class iox::popo::Trigger
The Trigger class is usually managed by a factory class like a WaitSet and acquired by classes which would like to signal a notification. Multiple Trigger can share a common ConditionVariableData pointer so that multiple Trigger can signal a single instance.
class iox::popo::TriggerHandle
TriggerHandle is threadsafe without restrictions in a single process. Not qualified for inter process usage. The TriggerHandle is generated by a Notifyable like the WaitSet and handed out to the user when they acquire a trigger. The TriggerHandle corresponds with an internal Trigger and is used to signal an event via the trigger method. When it goes out of scope it cleans up the corresponding trigger in the Notifyable.
class iox::popo::UntypedClient
class iox::popo::UntypedClientImpl
The UntypedClientImpl class implements the untyped client API.
class iox::popo::UntypedPublisher
The UntypedPublisher class for the publish-subscribe messaging pattern in iceoryx.
class iox::popo::UntypedPublisherImpl
The UntypedPublisherImpl class implements the untyped publisher API.
class iox::popo::UntypedServer
class iox::popo::UntypedServerImpl
The UntypedServerImpl class implements the untyped server API.
class iox::popo::UntypedSubscriber
The UntypedSubscriber class for the publish-subscribe messaging pattern in iceoryx.
class iox::popo::UntypedSubscriberImpl
The UntypedSubscriberImpl class implements the untyped subscriber API.
class iox::popo::UserTrigger
An event based trigger which can be used by the application developer directly. If you would like to trigger a WaitSet/Listener through an event of your class you should use the Trigger class.
class iox::popo::Void
class iox::popo::WaitSet
Logical disjunction of a certain number of Triggers.

Types🔗

Name
enum ListenerError { LISTENER_FULL, EVENT_ALREADY_ATTACHED, EMPTY_EVENT_CALLBACK, EMPTY_INVALIDATION_CALLBACK}
enum uint8_t ConsumerTooSlowPolicy { WAIT_FOR_CONSUMER, DISCARD_OLDEST_DATA}
Used by producers how to adjust to slow consumer.
enum uint8_t QueueFullPolicy { BLOCK_PRODUCER, DISCARD_OLDEST_DATA}
Used by consumers to request a specific behavior from the producer.
enum TriggerType { STATE_BASED, EVENT_BASED, INVALID}
enum uint8_t WaitSetError { WAIT_SET_FULL, ALREADY_ATTACHED}
enum MessagingPattern { PUB_SUB, REQ_RES}
enum EventEnumIdentifier SubscriberEvent { DATA_RECEIVED}
enum StateEnumIdentifier SubscriberState { HAS_DATA}
using cxx::ConstMethodCallback< bool > WaitSetIsConditionSatisfiedCallback
using uint64_t StateEnumIdentifier
used as underlying type it identifies an enum as a state based enum
using int64_t EventEnumIdentifier
used as underlying type it identifies an enum as an event based enum
typedef UniquePortId uid_t

Functions🔗

Name
template <typename OriginType ,typename ContextDataType =internal::NoType_t>
NotificationCallback< OriginType, ContextDataType >
createNotificationCallback(void(&)(OriginType *const) callback)
creates an NotificationCallback
template <typename OriginType ,typename ContextDataType >
NotificationCallback< OriginType, ContextDataType >
createNotificationCallback(void(&)(OriginType const, ContextDataType const) callback, ContextDataType & userValue)
creates an NotificationCallback with a user defined value

Attributes🔗

Name
constexpr bool IS_EVENT_ENUM
contains true when T is an event based enum, otherwise false
constexpr bool IS_STATE_ENUM
contains true when T is a state based enum, otherwise false
constexpr StateBasedTrigger_t StateBasedTrigger
constexpr EventBasedTrigger_t EventBasedTrigger

Types Documentation🔗

enum ListenerError🔗

Enumerator Value Description
LISTENER_FULL
EVENT_ALREADY_ATTACHED
EMPTY_EVENT_CALLBACK
EMPTY_INVALIDATION_CALLBACK

enum ConsumerTooSlowPolicy🔗

Enumerator Value Description
WAIT_FOR_CONSUMER Waits for the consumer it it's queue is full.
DISCARD_OLDEST_DATA Discards the oldest data and pushes the newest one into the queue.

Used by producers how to adjust to slow consumer.

enum QueueFullPolicy🔗

Enumerator Value Description
BLOCK_PRODUCER Requests the producer to block when the consumer queue is full.
DISCARD_OLDEST_DATA Request to discard the oldest data and push the newest one into the queue.

Used by consumers to request a specific behavior from the producer.

enum TriggerType🔗

Enumerator Value Description
STATE_BASED
EVENT_BASED
INVALID

enum WaitSetError🔗

Enumerator Value Description
WAIT_SET_FULL
ALREADY_ATTACHED

enum MessagingPattern🔗

Enumerator Value Description
PUB_SUB
REQ_RES

enum SubscriberEvent🔗

Enumerator Value Description
DATA_RECEIVED

enum SubscriberState🔗

Enumerator Value Description
HAS_DATA

using WaitSetIsConditionSatisfiedCallback🔗

using iox::popo::WaitSetIsConditionSatisfiedCallback = typedef cxx::ConstMethodCallback<bool>;

using StateEnumIdentifier🔗

using iox::popo::StateEnumIdentifier = typedef uint64_t;

used as underlying type it identifies an enum as a state based enum

using EventEnumIdentifier🔗

using iox::popo::EventEnumIdentifier = typedef int64_t;

used as underlying type it identifies an enum as an event based enum

typedef uid_t🔗

typedef UniquePortId iox::popo::uid_t;

Functions Documentation🔗

function createNotificationCallback🔗

template <typename OriginType ,
typename ContextDataType  =internal::NoType_t>
NotificationCallback< OriginType, ContextDataType > createNotificationCallback(
    void(&)(OriginType *const) callback
)

creates an NotificationCallback

Parameters:

  • callback reference to a callback with the signature void(OriginType*)

Return: the callback stored inside of an NotificationCallback

function createNotificationCallback🔗

template <typename OriginType ,
typename ContextDataType >
NotificationCallback< OriginType, ContextDataType > createNotificationCallback(
    void(&)(OriginType *const, ContextDataType *const) callback,
    ContextDataType & userValue
)

creates an NotificationCallback with a user defined value

Parameters:

  • callback reference to a callback with the signature void(OriginType, ContextDataType)
  • userValue reference to a user defined value

Return: the callback and user value stored inside of an NotificationCallback

Attributes Documentation🔗

variable IS_EVENT_ENUM🔗

constexpr bool IS_EVENT_ENUM =
    std::is_enum<T>::value&& std::is_same<std::underlying_type_t<T>, EventEnumIdentifier>::value;

contains true when T is an event based enum, otherwise false

variable IS_STATE_ENUM🔗

constexpr bool IS_STATE_ENUM =
    std::is_enum<T>::value&& std::is_same<std::underlying_type_t<T>, StateEnumIdentifier>::value;

contains true when T is a state based enum, otherwise false

variable StateBasedTrigger🔗

constexpr StateBasedTrigger_t StateBasedTrigger {};

variable EventBasedTrigger🔗

constexpr EventBasedTrigger_t EventBasedTrigger {};

Updated on 18 December 2023 at 13:11:43 CET