OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
org::opensplice::core::policy::Scheduling Class Reference

QoS Policy base class for scheduling policies. More...

#include "ProprietaryApi.hpp"

Inheritance diagram for org::opensplice::core::policy::Scheduling:
Inheritance graph

Public Member Functions

bool operator!= (const Value &other) const
 
D * operator-> ()
 
const D * operator-> () const
 
bool operator== (const Value &other) const
 
Schedulingscheduling_kind (const org::opensplice::core::policy::SchedulingKind::Type &scheduling_kind)
 
org::opensplice::core::policy::SchedulingKind::Type scheduling_kind () const
 
Schedulingscheduling_kind (const org::opensplice::core::policy::SchedulingPriorityKind::Type &scheduling_priority_kind)
 
Schedulingscheduling_priority (int32_t scheduling_priority)
 
int32_t scheduling_priority () const
 
org::opensplice::core::policy::SchedulingPriorityKind::Type scheduling_priority_kind () const
 

Detailed Description

QoS Policy base class for scheduling policies.

Note that some scheduling parameters may not be supported by the underlying Operating System, or that you may need special privileges to select particular settings. Refer to the documentation of your OS for more details on this subject.

Although the behaviour of the scheduling_class is highly dependent on the underlying OS, in general it can be said that when running in a Timesharing class your thread will have to yield execution to other threads of equal priority regularly. In a Realtime class your thread normally runs until completion, and can only be pre-empted by higher priority threads. Often the highest range of priorities is not accessible through a Timesharing Class.

The scheduling_priority_kind determines whether the specified scheduling_priority should be interpreted as an absolute priority, or whether it should be interpreted relative to the priority of its creator, in this case the priority of the thread that created the DomainParticipant.

Definition at line 1043 of file ProprietaryApi.hpp.

Member Function Documentation

◆ operator!=()

template<typename D >
bool dds::core::Value< D >::operator!= ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if not equal

Definition at line 99 of file Value.hpp.

◆ operator->() [1/2]

template<typename D >
D * dds::core::Value< D >::operator-> ( )
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 111 of file Value.hpp.

◆ operator->() [2/2]

template<typename D >
const D * dds::core::Value< D >::operator-> ( ) const
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 105 of file Value.hpp.

◆ operator==()

template<typename D >
bool dds::core::Value< D >::operator== ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if equal

Definition at line 93 of file Value.hpp.

◆ scheduling_kind() [1/3]

Scheduling& org::opensplice::core::policy::Scheduling::scheduling_kind ( const org::opensplice::core::policy::SchedulingKind::Type scheduling_kind)

Sets the scheduling kind

Parameters
scheduling_kindthe scheduling_kind

◆ scheduling_kind() [2/3]

org::opensplice::core::policy::SchedulingKind::Type org::opensplice::core::policy::Scheduling::scheduling_kind ( ) const

Gets the scheduling kind

Returns
the scheduling_kind

◆ scheduling_kind() [3/3]

Scheduling& org::opensplice::core::policy::Scheduling::scheduling_kind ( const org::opensplice::core::policy::SchedulingPriorityKind::Type scheduling_priority_kind)

Sets the scheduling priority kind

Parameters
scheduling_priority_kindthe scheduling_priority_kind

◆ scheduling_priority() [1/2]

Scheduling& org::opensplice::core::policy::Scheduling::scheduling_priority ( int32_t  scheduling_priority)

Sets the scheduling priority

Parameters
scheduling_prioritythe scheduling_priority

◆ scheduling_priority() [2/2]

int32_t org::opensplice::core::policy::Scheduling::scheduling_priority ( ) const

Gets the scheduling priority

Returns
the scheduling_priority

◆ scheduling_priority_kind()

org::opensplice::core::policy::SchedulingPriorityKind::Type org::opensplice::core::policy::Scheduling::scheduling_priority_kind ( ) const

Gets the scheduling priority kind

Returns
the scheduling_priority_kind

The documentation for this class was generated from the following file: