RTI Connext DDS Micro C++ API
Version 3.0.2
|
<<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...
#include <dds_cpp_flowcontroller.hxx>
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 DDSDomainParticipant * | get_participant ()=0 |
Returns the DDSDomainParticipant to which the DDSFlowController belongs. |
<<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.
|
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).
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. |
|
pure virtual |
Gets the DDSFlowController property.
prop | <<in>> DDSFlowController to be filled in. |
|
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 FlowController is solely triggered by the user on demand).
DDSFlowController::trigger_flow can be called on both strict on-demand FlowController and hybrid FlowController (internally and externally triggered).
|
pure virtual |
Returns the name of the DDSFlowController.
|
pure virtual |
Returns the DDSDomainParticipant to which the DDSFlowController belongs.