RTI Connext Traditional C++ API Version 7.1.0

<<extension>> A specialization of DDSWaitSet that provides a mechanism to perform the wait asynchronously and uses a thread pool to dispatch the attached active DDSCondition. More...

Classes

struct  DDS_AsyncWaitSetProperty_t
 Specifies the DDSAsyncWaitSet behavior. More...
 
class  DDSAsyncWaitSetListener
 <<interface>> Listener for receiving event notifications related to the thread pool of the DDSAsyncWaitSet. More...
 
class  DDSAsyncWaitSetCompletionToken
 <<interface>> Implementation of the completion token role element of the asynchronous completion token pattern that is part of the DDSAsyncWaitSet behavior. More...
 
class  DDSAsyncWaitSet
 A class for dispatching DDSCondition objects using separate threads of execution. You can see this class as an extension of a DDSWaitSet that allows asynchronously waiting for the attached DDSCondition objects to trigger and provide a notification by calling DDSCondition::dispatch. More...
 
class  DDSDataReaderStatusConditionHandler
 <<interface>> Realization of a DDSConditionHandler that handles the status of a DDSDataReader. More...
 

Variables

const struct DDS_AsyncWaitSetProperty_t DDS_ASYNC_WAITSET_PROPERTY_DEFAULT
 Constant that defines the default property for a DDSAsyncWaitSet. More...
 
static DDSAsyncWaitSetCompletionToken *const DDSAsyncWaitSet::COMPLETION_TOKEN_USE_IMPLICIT_AND_WAIT
 For the operations that allow an DDSAsyncWaitSetCompletionToken, this sentinel can be provided to indicate an DDSAsyncWaitSet to use the implicit completion token and wait on it for request completion. More...
 
static DDSAsyncWaitSetCompletionToken *const DDSAsyncWaitSet::COMPLETION_TOKEN_IGNORE
 For the operations that allow an DDSAsyncWaitSetCompletionToken, this sentinel can be provided to indicate an DDSAsyncWaitSet to perform the action associating a 'null' completion token. More...
 

Detailed Description

<<extension>> A specialization of DDSWaitSet that provides a mechanism to perform the wait asynchronously and uses a thread pool to dispatch the attached active DDSCondition.

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.

Variable Documentation

◆ DDS_ASYNC_WAITSET_PROPERTY_DEFAULT

const struct DDS_AsyncWaitSetProperty_t DDS_ASYNC_WAITSET_PROPERTY_DEFAULT

Constant that defines the default property for a DDSAsyncWaitSet.

Value: wait_set_property = DDS_WaitSetProperty_t_INITIALIZER, thread_pool_size = 1, thread_settings DDS_THREAD_SETTINGS_DEFAULT, thread_base_name = NULL wait_timeout = DDS_DURATION_INFINITE level = 1

◆ COMPLETION_TOKEN_USE_IMPLICIT_AND_WAIT

DDSAsyncWaitSetCompletionToken* const DDSAsyncWaitSet::COMPLETION_TOKEN_USE_IMPLICIT_AND_WAIT
static

For the operations that allow an DDSAsyncWaitSetCompletionToken, this sentinel can be provided to indicate an DDSAsyncWaitSet to use the implicit completion token and wait on it for request completion.

If this sentinel is used, the DDSAsyncWaitSet will use the completion token associated with the calling thread and will wait with an infinite timeout until the request completes successfully.

◆ COMPLETION_TOKEN_IGNORE

DDSAsyncWaitSetCompletionToken* const DDSAsyncWaitSet::COMPLETION_TOKEN_IGNORE
static

For the operations that allow an DDSAsyncWaitSetCompletionToken, this sentinel can be provided to indicate an DDSAsyncWaitSet to perform the action associating a 'null' completion token.

This sentinel is a realization of the null object pattern of an DDSAsyncWaitSetCompletionToken. If this object is provided to a DDSAsyncWaitSet 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 DDSAsyncWaitSet 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 DDSAsyncWaitSet 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 DDSAsyncWaitSet from within one of the threads from its thread pool, where waiting on a valid DDSAsyncWaitSetCompletionToken is forbidden.