Group of queues class.
This is a fair group. It's attached by one or mode fair queues. On machines having the big* amount of shards, queues use the group to borrow/lend the needed capacity for requests dispatching.
- Big means that when all shards sumbit requests alltogether the disk is unable to dispatch them efficiently. The inability can be of two kinds – either disk cannot cope with the number of arriving requests, or the total size of the data withing the given time frame exceeds the disk throughput.
#include <seastar/core/fair_queue.hh>
|
using | capacity_t = fair_queue_entry::capacity_t |
|
using | clock_type = std::chrono::steady_clock |
|
using | rate_resolution = std::milli |
|
using | token_bucket_t = internal::shared_token_bucket< capacity_t, rate_resolution, internal::capped_release::no > |
|
|
auto | capacity_duration (capacity_t cap) const noexcept |
|
| fair_group (config cfg, unsigned nr_queues) |
|
| fair_group (fair_group &&)=delete |
|
capacity_t | maximum_capacity () const noexcept |
|
capacity_t | per_tick_grab_threshold () const noexcept |
|
capacity_t | grab_capacity (capacity_t cap) noexcept |
|
clock_type::time_point | replenished_ts () const noexcept |
|
void | replenish_capacity (clock_type::time_point now) noexcept |
|
void | maybe_replenish_capacity (clock_type::time_point &local_ts) noexcept |
|
capacity_t | capacity_deficiency (capacity_t from) const noexcept |
|
std::chrono::duration< double > | rate_limit_duration () const noexcept |
|
const token_bucket_t & | token_bucket () const noexcept |
|
|
static double | capacity_tokens (capacity_t cap) noexcept |
|
static capacity_t | tokens_capacity (double tokens) noexcept |
|
|
static constexpr float | fixed_point_factor = float(1 << 24) |
|
◆ seastar::fair_group::config
struct seastar::fair_group::config |
Class Members |
sstring |
label |
|
double |
limit_min_tokens |
|
double |
min_tokens |
|
duration< double > |
rate_limit_duration |
|
The documentation for this class was generated from the following file: