DDSFlowController Class Reference
[Flow Controllers]

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

List of all members.

Public Member Functions

virtual DDS_ReturnCode_t set_property (const struct DDS_FlowControllerProperty_t &prop)=0
 Sets the DDSFlowController property.
virtual DDS_ReturnCode_t get_property (struct DDS_FlowControllerProperty_t &prop)=0
 Gets the DDSFlowController property.
virtual DDS_ReturnCode_t trigger_flow ()=0
 Provides an external trigger to the DDSFlowController.
virtual const char * get_name ()=0
 Returns the name of the DDSFlowController.
virtual DDSDomainParticipantget_participant ()=0
 Returns the DDSDomainParticipant to which the DDSFlowController belongs.


Detailed Description

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

QoS:
DDS_FlowControllerProperty_t

Member Function Documentation

virtual DDS_ReturnCode_t DDSFlowController::set_property ( const struct DDS_FlowControllerProperty_t prop  )  [pure virtual]

Sets the DDSFlowController property.

This operation modifies the property of the DDSFlowController.

Once a DDSFlowController 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 DDSFlowController has been created. The special value DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT can be used to indicate that the property of the DDSFlowController should be changed to match the current default DDS_FlowControllerProperty_t set in the DDSDomainParticipant.
Returns:
One of the Standard Return Codes, DDS_RETCODE_IMMUTABLE_POLICY, or DDS_RETCODE_INCONSISTENT_POLICY.
See also:
DDS_FlowControllerProperty_t for rules on consistency among property values.

virtual DDS_ReturnCode_t DDSFlowController::get_property ( struct DDS_FlowControllerProperty_t prop  )  [pure virtual]

Gets the DDSFlowController property.

Parameters:
prop <<in>> DDSFlowController to be filled in.
Returns:
One of the Standard Return Codes

virtual DDS_ReturnCode_t DDSFlowController::trigger_flow (  )  [pure virtual]

Provides an external trigger to the DDSFlowController.

Typically, a DDSFlowController 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 DDSFlowController. This trigger adds DDS_FlowControllerTokenBucketProperty_t::tokens_added_per_period tokens each time it is called (subject to the other property settings of the DDSFlowController).

An on-demand DDSFlowController can be created with a DDS_DURATION_INFINITE as DDS_FlowControllerTokenBucketProperty_t::period, in which case the only trigger source is external (i.e. the DDSFlowController is solely triggered by the user on demand).

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

Returns:
One of the Standard Return Codes

virtual const char* DDSFlowController::get_name (  )  [pure virtual]

Returns the name of the DDSFlowController.

Returns:
The name of the DDSFlowController.

virtual DDSDomainParticipant* DDSFlowController::get_participant (  )  [pure virtual]

Returns the DDSDomainParticipant to which the DDSFlowController belongs.

Returns:
The DDSDomainParticipant to which the DDSFlowController belongs.


RTI Connext C++ API Version 4.5f Copyright © 17 Mar 2012 Real-Time Innovations, Inc