RTI Connext Modern C++ API  Version 6.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AsyncWaitSet

<<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
 <<interface>> Implementation of the completion token role element of the asynchronous completion token pattern that is part of the rti::core::cond::AsyncWaitSet behavior. More...
 
class  rti::core::cond::AsyncWaitSet
 <<interface>> A class for dispatching dds::core::cond::Condition objects using separate threads of execution. You can see this class as an extension of a dds::core::cond::WaitSet that allows asynchronously waiting for the attached dds::core::cond::Condition objects to trigger and provide a notification by calling dds::core::cond::Condition::dispatch. More...
 
class  rti::core::cond::AsyncWaitSetListener
 <<interface>> Listener for receiving event notifications related to the thread pool of the rti::core::cond::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 >
 <<interface>> 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.
 
 rti::core::cond::AsyncWaitSet::AsyncWaitSet ()
 Constructor without arguments that create an rti::core::cond::AsyncWaitSet with default property.
 

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

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.

rti::core::cond::AsyncWaitSet::AsyncWaitSet ( )
inline

Constructor without arguments that create an rti::core::cond::AsyncWaitSet with default property.

See Also
rti::core::cond::AsyncWaitSetProperty::AsyncWaitSetProperty()

RTI Connext Modern C++ API Version 6.0.1 Copyright © Sat Nov 23 2019 Real-Time Innovations, Inc