DDS::FlowController Class Reference
[Flow Controllers]

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

List of all members.

Public Member Functions

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

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


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

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::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:
One of the Standard Return Codes, DDS::Retcode_ImmutablePolicy, or DDS::Retcode_InconsistentPolicy.
See also:
DDS::FlowControllerProperty_t for rules on consistency among property values.

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:
One of the Standard Return Codes

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 DDS::FlowController is solely triggered by the user on demand).

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

Exceptions:
One of the Standard Return Codes

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

Returns the name of the DDS::FlowController.

Returns:
The name of the DDS::FlowController.

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 Data Distribution Service .Net APIs Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc