RTI Connext Modern C++ API  Version 5.3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::core::cond::AsyncWaitSetProperty Class Reference

Specifies the rti::core::cond::AsyncWaitSet behavior. More...

#include <rti/core/cond/AsyncWaitSet.hpp>

Public Member Functions

 AsyncWaitSetProperty ()
 Creates the default property.
 
 AsyncWaitSetProperty (rti::core::cond::WaitSetProperty &the_waitset_property, dds::core::Duration &the_wait_timeout, int32_t the_level, const std::string &the_thread_name_prefix, rti::core::ThreadSettings &the_thread_settings, int32_t the_thread_pool_size)
 Creates an instance with all the specified parameters.
 
rti::core::cond::WaitSetProperty waitset_property () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertywaitset_property (rti::core::cond::WaitSetProperty &the_waitset_property)
 Specifies the behavior of the asynchronous wait behavior, which is equivalent to the wait mechanism of a dds::core::cond::WaitSet.
 
dds::core::Duration wait_timeout () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertywait_timeout (dds::core::Duration &the_wait_timeout)
 Asynchronous wait timeout.
 
int32_t level () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertylevel (int32_t the_level)
 Specifies the level of an rti::core::cond::AsyncWaitSet.
 
const std::string thread_name_prefix () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertythread_name_prefix (const std::string &thr_thread_name_prefix)
 Prefix used to composed the name of each thread that conforms the thread pool the rti::core::cond::AsyncWaitSet.
 
rti::core::ThreadSettings thread_settings () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertythread_settings (rti::core::ThreadSettings &the_thread_settings)
 rti::core::ThreadSettings for each thread conforming the thread pool of the rti::core::cond::AsyncWaitSet.
 
int32_t thread_pool_size () const
 Getter (see setter with the same name)
 
AsyncWaitSetPropertythread_pool_size (int32_t the_level)
 Number of threads that conform the thread pool of the rti::core::cond::AsyncWaitSet.
 

Detailed Description

Specifies the rti::core::cond::AsyncWaitSet behavior.

This property allows configuring the behavior of the asynchronous wait and the dds::core::cond::Condition dispatch, as well as the parameters of the thread pool.

See Also
rti::core::cond::WaitSetProperty
rti::core::ThreadSettings

Constructor & Destructor Documentation

rti::core::cond::AsyncWaitSetProperty::AsyncWaitSetProperty ( )
inline

Creates the default property.

rti::core::cond::AsyncWaitSetProperty::AsyncWaitSetProperty ( rti::core::cond::WaitSetProperty the_waitset_property,
dds::core::Duration the_wait_timeout,
int32_t  the_level,
const std::string &  the_thread_name_prefix,
rti::core::ThreadSettings the_thread_settings,
int32_t  the_thread_pool_size 
)

Creates an instance with all the specified parameters.

Member Function Documentation

rti::core::cond::WaitSetProperty rti::core::cond::AsyncWaitSetProperty::waitset_property ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::waitset_property ( rti::core::cond::WaitSetProperty the_waitset_property)

Specifies the behavior of the asynchronous wait behavior, which is equivalent to the wait mechanism of a dds::core::cond::WaitSet.

See Also
rti::core::cond::WaitSetProperty
dds::core::Duration rti::core::cond::AsyncWaitSetProperty::wait_timeout ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::wait_timeout ( dds::core::Duration the_wait_timeout)

Asynchronous wait timeout.

Specifies the maximum amount of time the leader thread of the rti::core::cond::AsyncWaitSet waits for an attached dds::core::cond::Condition to trigger before it wakes up.

Duration must be a value greater than zero.

See Also
dds::core::cond::WaitSet::wait

[default] dds::core::Duration::infinite()

int32_t rti::core::cond::AsyncWaitSetProperty::level ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::level ( int32_t  the_level)

Specifies the level of an rti::core::cond::AsyncWaitSet.

The level prevents an application to deadlock when it uses multiple rti::core::cond::AsyncWaitSet instances that call operations on each other from the context of one of their thread pool's thread.

Inside the context of one of these threads, the application can synchronize only with other rti::core::cond::AsyncWaitSet of bigger level.

[default] 1

const std::string rti::core::cond::AsyncWaitSetProperty::thread_name_prefix ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::thread_name_prefix ( const std::string &  thr_thread_name_prefix)

Prefix used to composed the name of each thread that conforms the thread pool the rti::core::cond::AsyncWaitSet.

The composed name has the form:

thread_name_prefix#[index] where [index] is an integer that identifies the thread relative to the rti::core::cond::AsyncWaitSet.

If NULL, the default prefix will be used.

[default] NULL

rti::core::ThreadSettings rti::core::cond::AsyncWaitSetProperty::thread_settings ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::thread_settings ( rti::core::ThreadSettings the_thread_settings)

rti::core::ThreadSettings for each thread conforming the thread pool of the rti::core::cond::AsyncWaitSet.

Each thread within the pool is created with the same settings.

[default] Default thread settings values.

See Also
rti::core::ThreadSettings
int32_t rti::core::cond::AsyncWaitSetProperty::thread_pool_size ( ) const

Getter (see setter with the same name)

AsyncWaitSetProperty& rti::core::cond::AsyncWaitSetProperty::thread_pool_size ( int32_t  the_level)

Number of threads that conform the thread pool of the rti::core::cond::AsyncWaitSet.

Size must be equal or greater than one.

[default] 1


RTI Connext Modern C++ API Version 5.3.1 Copyright © Mon Feb 19 2018 Real-Time Innovations, Inc