RTI Connext Modern C++ API  Version 5.3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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.
 
 FlowControllerProperty (FlowControllerSchedulingPolicy::type scheduling_policy, const FlowControllerTokenBucketProperty &token_bucket=FlowControllerTokenBucketProperty())
 Creates a FlowControllerProperty with the specified scheduling policy and token-bucket configuration.
 
FlowControllerSchedulingPolicy::type scheduling_policy () const
 Gets the scheduling policy.
 
FlowControllerPropertyscheduling_policy (FlowControllerSchedulingPolicy::type value)
 Sets the scheduling policy.
 
FlowControllerTokenBucketPropertytoken_bucket ()
 Gets the token-bucket configuration by reference.
 
const
FlowControllerTokenBucketProperty
token_bucket () const
 Gets the token-bucket configuration by const-reference.
 

Static Public Member Functions

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

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

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

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

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

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

Gets the scheduling policy.

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

Sets the scheduling policy.

Returns
*this
FlowControllerTokenBucketProperty& rti::pub::FlowControllerProperty::token_bucket ( )

Gets the token-bucket configuration by reference.

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

Gets the token-bucket configuration by const-reference.

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
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
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

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