12 class rate_limiting_group_impl;
20 rate_limiting_group(uint32_t upload_bytes_per_second, uint32_t download_bytes_per_second, uint32_t burstiness_in_seconds = 1);
23 void set_upload_limit(uint32_t upload_bytes_per_second);
24 uint32_t get_upload_limit()
const;
26 void set_download_limit(uint32_t download_bytes_per_second);
27 uint32_t get_download_limit()
const;
29 uint32_t get_actual_upload_rate()
const;
30 uint32_t get_actual_download_rate()
const;
31 void set_actual_rate_time_constant(
microseconds time_constant);
33 void add_tcp_socket(
tcp_socket* tcp_socket_to_limit);
34 void remove_tcp_socket(
tcp_socket* tcp_socket_to_stop_limiting);
36 std::unique_ptr<detail::rate_limiting_group_impl> my;
std::shared_ptr< rate_limiting_group > rate_limiting_group_ptr