RTI Connext .Net APIs  Version 6.0.0
DDS::FlowController Class Reference

<<interface>> A flow controller is the object responsible for shaping the network traffic by determining when attached asynchronous DDS::DataWriter instances are allowed to write data. More...

#include <managed_flowcontroller.h>

Public Member Functions

void set_property (FlowControllerProperty_t^ prop)
 Sets the DDS::FlowController property. More...
 
void get_property (FlowControllerProperty_t^ prop)
 Gets the DDS::FlowController property. More...
 
void trigger_flow ()
 Provides an external trigger to the DDS::FlowController. More...
 
System::String ^ get_name ()
 Returns the name of the DDS::FlowController. More...
 
DomainParticipantget_participant ()
 Returns the DDS::DomainParticipant to which the DDS::FlowController belongs. More...
 

Properties

static System::String^ DEFAULT_FLOW_CONTROLLER_NAME [get]
 [default] Special value of DDS::PublishModeQosPolicy::flow_controller_name that refers to the built-in default flow controller. More...
 
static System::String^ FIXED_RATE_FLOW_CONTROLLER_NAME [get]
 Special value of DDS::PublishModeQosPolicy::flow_controller_name that refers to the built-in fixed-rate flow controller. More...
 
static System::String^ ON_DEMAND_FLOW_CONTROLLER_NAME [get]
 Special value of DDS::PublishModeQosPolicy::flow_controller_name that refers to the built-in on-demand flow controller. More...
 

Detailed Description

<<interface>> A flow controller is the object responsible for shaping the network traffic by determining when attached asynchronous DDS::DataWriter instances are allowed to write data.

QoS:
DDS::FlowControllerProperty_t

Member Function Documentation

◆ set_property()

void DDS::FlowController::set_property ( FlowControllerProperty_t prop)

Sets the DDS::FlowController property.

This operation modifies the property of the DDS::FlowController.

Once a DDS::FlowController has been instantiated, only the DDS::FlowControllerProperty_t::token_bucket can be changed. The DDS::FlowControllerProperty_t::scheduling_policy is immutable.

A new DDS::FlowControllerTokenBucketProperty_t::period only takes effect at the next scheduled token distribution time (as determined by its previous value).

Parameters
prop<<in>> The new DDS::FlowControllerProperty_t. Property must be consistent. Immutable fields cannot be changed after DDS::FlowController has been created. The special value DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT can be used to indicate that the property of the DDS::FlowController should be changed to match the current default DDS::FlowControllerProperty_t set in the DDS::DomainParticipant. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_ImmutablePolicy, or DDS::Retcode_InconsistentPolicy.
See also
DDS::FlowControllerProperty_t for rules on consistency among property values.

◆ get_property()

void DDS::FlowController::get_property ( FlowControllerProperty_t prop)

Gets the DDS::FlowController property.

Parameters
prop<<in>> DDS::FlowController to be filled in. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes

◆ trigger_flow()

void DDS::FlowController::trigger_flow ( )

Provides an external trigger to the DDS::FlowController.

Typically, a DDS::FlowController uses an internal trigger to periodically replenish its tokens. The period by which this trigger is called is determined by the DDS::FlowControllerTokenBucketProperty_t::period property setting.

This function provides an additional, external trigger to the DDS::FlowController. This trigger adds DDS::FlowControllerTokenBucketProperty_t::tokens_added_per_period tokens each time it is called (subject to the other property settings of the DDS::FlowController).

An on-demand DDS::FlowController can be created with a DDS::Duration_t::DURATION_INFINITE as DDS::FlowControllerTokenBucketProperty_t::period, in which case the only trigger source is external (i.e. the FlowController is solely triggered by the user on demand).

DDS::FlowController::trigger_flow can be called on both strict on-demand FlowController and hybrid FlowController (internally and externally triggered).

Exceptions
Oneof the Standard Return Codes

◆ get_name()

System::String ^ DDS::FlowController::get_name ( )

Returns the name of the DDS::FlowController.

Returns
The name of the DDS::FlowController.

◆ get_participant()

DomainParticipant ^ DDS::FlowController::get_participant ( )

Returns the DDS::DomainParticipant to which the DDS::FlowController belongs.

Returns
The DDS::DomainParticipant to which the DDS::FlowController belongs.

RTI Connext .Net APIs Version 6.0.0 Copyright © Sun Mar 3 2019 Real-Time Innovations, Inc