RTI Connext Modern C++ API Version 7.3.0
rti::pub::FlowControllerProperty Class Reference

<<extension>> <<value-type>> Configures a FlowController More...

#include <FlowController.hpp>

Inherits rti::core::NativeValueType< T, NATIVE_T, ADAPTER >.

Public Member Functions

 FlowControllerProperty ()
 Creates a FlowControllerProperty with earliest-deadline-first scheduling policy and default token-bucket configuration. More...
 
 FlowControllerProperty (FlowControllerSchedulingPolicy::type scheduling_policy, const FlowControllerTokenBucketProperty &token_bucket=FlowControllerTokenBucketProperty())
 Creates a FlowControllerProperty with the specified scheduling policy and token-bucket configuration. More...
 
FlowControllerSchedulingPolicy::type scheduling_policy () const
 Gets the scheduling policy. More...
 
FlowControllerPropertyscheduling_policy (FlowControllerSchedulingPolicy::type value)
 Sets the scheduling policy. More...
 
FlowControllerTokenBucketPropertytoken_bucket ()
 Gets the token-bucket configuration by reference. More...
 
const FlowControllerTokenBucketPropertytoken_bucket () const
 Gets the token-bucket configuration by const-reference. More...
 

Static Public Member Functions

static FlowControllerProperty RoundRobin ()
 Creates a FlowControllerProperty with round-robin scheduling policy and default token-bucket configuration. More...
 
static FlowControllerProperty EarliestDeadlineFirst ()
 Creates a FlowControllerProperty with earliest-deadline-first scheduling policy and default token-bucket configuration. More...
 
static FlowControllerProperty HighestPriorityFirst ()
 Creates a FlowControllerProperty with highest-priority-first scheduling policy and default token-bucket configuration. More...
 

Detailed Description

<<extension>> <<value-type>> Configures a FlowController

The flow control characteristics shape the network traffic by determining how often and in what order associated asynchronous dds::pub::DataWriter instances are serviced and how much data they are allowed to send.

Note that these settings apply directly to the rti::pub::FlowController, and do not depend on the number of dds::pub::DataWriter instances the rti::pub::FlowController is servicing. For instance, the specified flow rate does not double simply because two dds::pub::DataWriter instances are waiting to write.

Entity:
rti::pub::FlowController
Properties:
RxO = N/A

Changeable = NO for rti::pub::FlowControllerProperty::scheduling_policy, YES for rti::pub::FlowControllerProperty::token_bucket. However, the special value of dds::core::Duration::infinite() as FlowControllerTokenBucketProperty::period is strictly used to create an on-demand rti::pub::FlowController. The token period cannot toggle from an infinite to finite value (or vice versa). It can, however, change from one finite value to another.

Constructor & Destructor Documentation

◆ FlowControllerProperty() [1/2]

rti::pub::FlowControllerProperty::FlowControllerProperty ( )
inline

Creates a FlowControllerProperty with earliest-deadline-first scheduling policy and default token-bucket configuration.

◆ FlowControllerProperty() [2/2]

rti::pub::FlowControllerProperty::FlowControllerProperty ( FlowControllerSchedulingPolicy::type  scheduling_policy,
const FlowControllerTokenBucketProperty token_bucket = FlowControllerTokenBucketProperty() 
)

Creates a FlowControllerProperty with the specified scheduling policy and token-bucket configuration.

Parameters
scheduling_policyThe scheduling policy
token_bucketThe token-bucket configuration

Member Function Documentation

◆ scheduling_policy() [1/2]

FlowControllerSchedulingPolicy::type rti::pub::FlowControllerProperty::scheduling_policy ( ) const

Gets the scheduling policy.

◆ scheduling_policy() [2/2]

FlowControllerProperty & rti::pub::FlowControllerProperty::scheduling_policy ( FlowControllerSchedulingPolicy::type  value)

Sets the scheduling policy.

Returns
*this

◆ token_bucket() [1/2]

FlowControllerTokenBucketProperty & rti::pub::FlowControllerProperty::token_bucket ( )

Gets the token-bucket configuration by reference.

◆ token_bucket() [2/2]

const FlowControllerTokenBucketProperty & rti::pub::FlowControllerProperty::token_bucket ( ) const

Gets the token-bucket configuration by const-reference.

◆ RoundRobin()

static FlowControllerProperty rti::pub::FlowControllerProperty::RoundRobin ( )
inlinestatic

Creates a FlowControllerProperty with round-robin scheduling policy and default token-bucket configuration.

See also
FlowControllerSchedulingPolicy_def::ROUND_ROBIN

◆ EarliestDeadlineFirst()

static FlowControllerProperty rti::pub::FlowControllerProperty::EarliestDeadlineFirst ( )
inlinestatic

Creates a FlowControllerProperty with earliest-deadline-first scheduling policy and default token-bucket configuration.

See also
FlowControllerSchedulingPolicy_def::EARLIEST_DEADLINE_FIRST

◆ HighestPriorityFirst()

static FlowControllerProperty rti::pub::FlowControllerProperty::HighestPriorityFirst ( )
inlinestatic

Creates a FlowControllerProperty with highest-priority-first scheduling policy and default token-bucket configuration.

See also
FlowControllerSchedulingPolicy_def::HIGHEST_PRIORITY_FIRST