RTI Connext Modern C++ API  Version 6.1.0

<<experimental>> <<extension>> A specialization of dds::core::cond::WaitSet that provides a mechanism to perform the wait asynchronously and uses a thread pool to dispatch the attached active dds::core::cond::Condition. More...

Classes

class  rti::core::cond::AsyncWaitSetProperty
 Specifies the rti::core::cond::AsyncWaitSet behavior. More...
 
class  rti::core::cond::AsyncWaitSetCompletionToken
 Implementation of the completion token role element of the asynchronous completion token pattern that is part of the AsyncWaitSet behavior. More...
 
class  rti::core::cond::AsyncWaitSet
 <<extension>> <<experimental>> Dispatches dds::core::cond::Condition objects using separate threads of execution. Unlike a normal dds::core::cond::WaitSet, which operates on the current thread, an AsyncWaitSet uses a thread pool. More...
 
class  rti::core::cond::AsyncWaitSetListener
 Listener for receiving event notifications related to the thread pool of the AsyncWaitSet. More...
 
class  rti::core::cond::NoOpAsyncWaitSetListener
 A convenience implementation of AsyncWaitSetListener where all methods are overridden to do nothing. More...
 
class  rti::sub::cond::DataReaderStatusConditionHandler< T >
 Realization of a functor handler that handles the status of a dds::sub::DataReader. More...
 

Functions

static AsyncWaitSetCompletionToken rti::core::cond::AsyncWaitSetCompletionToken::Ignore ()
 For the operations that allow an rti::core::cond::AsyncWaitSetCompletionToken, this sentinel can be provided to indicate an rti::core::cond::AsyncWaitSet to perform the action associating a 'null' completion token. More...
 

Detailed Description

<<experimental>> <<extension>> A specialization of dds::core::cond::WaitSet that provides a mechanism to perform the wait asynchronously and uses a thread pool to dispatch the attached active dds::core::cond::Condition.

This class is a realization of the Proactor pattern applied to WaitSets and Conditions that provide a powerful component for your application process events leveraging concurrency.

Function Documentation

◆ Ignore()

static AsyncWaitSetCompletionToken rti::core::cond::AsyncWaitSetCompletionToken::Ignore ( )
static

For the operations that allow an rti::core::cond::AsyncWaitSetCompletionToken, this sentinel can be provided to indicate an rti::core::cond::AsyncWaitSet to perform the action associating a 'null' completion token.

This sentinel is a realization of the null object pattern of an rti::core::cond::AsyncWaitSetCompletionToken. If this object is provided to a rti::core::cond::AsyncWaitSet operation, the resulting operation request will be associated with a 'null' completion token that behaves as no-op.

When 'nul' completion token is provided, the rti::core::cond::AsyncWaitSet operation returns immediately after it issues the internal request, and there is no mean for your application to wait for the request to complete.

You can use this sentinel when your application can operate on an rti::core::cond::AsyncWaitSet without needing to known when operation requests complete or your application uses other strategies to synchronize resources.

This sentinel is also useful when you need to perform operations on rti::core::cond::AsyncWaitSet from within one of the threads from its thread pool, where waiting on a valid rti::core::cond::AsyncWaitSetCompletionToken is forbidden.