#include <managed_flowcontroller.h>
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. | |
DomainParticipant^ | get_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. |
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).
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. |
One | of the Standard Return Codes, DDS::Retcode_ImmutablePolicy, or DDS::Retcode_InconsistentPolicy. |
void DDS::FlowController::get_property | ( | FlowControllerProperty_t^ | prop | ) |
Gets the DDS::FlowController property.
prop | <<in>> DDS::FlowController to be filled in. Cannot be NULL. |
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).
One | of the Standard Return Codes |
System::String ^ DDS::FlowController::get_name | ( | ) |
DomainParticipant ^ DDS::FlowController::get_participant | ( | ) |
Returns the DDS::DomainParticipant to which the DDS::FlowController belongs.