![]() |
MySQL 8.4.6
Source Code Documentation
|
The pipeline stats aggregator of all group members stats and flow control module. More...
#include <pipeline_stats.h>
Public Member Functions | |
| Flow_control_module () | |
| Default constructor. More... | |
| virtual | ~Flow_control_module () |
| Destructor. More... | |
| int | handle_stats_data (const uchar *data, size_t len, const std::string &member_id) |
| Handles a Pipeline_stats_message, updating the Flow_control_module_info and the delay, if needed. More... | |
| void | flow_control_step (Pipeline_stats_member_collector *) |
| Evaluate the information received in the last flow control period and adjust the system parameters accordingly. More... | |
| Pipeline_member_stats * | get_pipeline_stats (const std::string &member_id) |
| Returns copy of individual member stats information. More... | |
| int32 | do_wait () |
| Compute and wait the amount of time in microseconds that must be elapsed before a new message is sent. More... | |
Static Public Attributes | |
| static const int64 | MAXTPS = INT_MAX32 |
Private Attributes | |
| mysql_mutex_t | m_flow_control_lock |
| mysql_cond_t | m_flow_control_cond |
| Flow_control_module_info | m_info |
| Checkable_rwlock * | m_flow_control_module_info_lock |
| std::atomic< int32 > | m_holds_in_period |
| std::atomic< int64 > | m_quota_used |
| std::atomic< int64 > | m_quota_size |
| uint64 | m_stamp |
| int | seconds_to_skip |
The pipeline stats aggregator of all group members stats and flow control module.
| Flow_control_module::Flow_control_module | ( | ) |
Default constructor.
|
virtual |
Destructor.
| int32 Flow_control_module::do_wait | ( | ) |
Compute and wait the amount of time in microseconds that must be elapsed before a new message is sent.
If there is no need to wait, the method returns immediately.
| 0 | No wait was done |
| >0 | The wait time |
| void Flow_control_module::flow_control_step | ( | Pipeline_stats_member_collector * | member | ) |
Evaluate the information received in the last flow control period and adjust the system parameters accordingly.
| Pipeline_member_stats * Flow_control_module::get_pipeline_stats | ( | const std::string & | member_id | ) |
Returns copy of individual member stats information.
| [in] | member_id | GCS Type Member Id, i.e. format HOST:PORT |
| int Flow_control_module::handle_stats_data | ( | const uchar * | data, |
| size_t | len, | ||
| const std::string & | member_id | ||
| ) |
Handles a Pipeline_stats_message, updating the Flow_control_module_info and the delay, if needed.
| [in] | data | the packet data |
| [in] | len | the packet length |
| [in] | member_id | the GCS member_id which sent the message |
| 0 | OK |
| !=0 | Error on queue |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |