Refactor rate limiter and improve rate limit bucket cleanup (#3937)
* Update rate_limiter.rs * Update mod.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update mod.rs * Update scheduled_tasks.rs * Shrink `RateLimitBucket` * Update rate_limiter.rs * Update mod.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update mod.rs * Update rate_limiter.rs * fmt * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * Update rate_limiter.rs * rerun ci * Update rate_limiter.rs * Undo changes to fields * Manually undo changes to RateLimitBucket fields * fmt * Bucket cleanup loop in rate_limit/mod.rs * Remove rate limit bucket cleanup from scheduled_tasks.rs * Remove ; * Remove UNINITIALIZED_TOKEN_AMOUNT * Update rate_limiter.rs * fmt * Update rate_limiter.rs * fmt * Update rate_limiter.rs * fmt * Update rate_limiter.rs * stuff * MapLevel trait * fix merge * Prevent negative numbers in buckets * Clean up MapLevel::check * MapLevel::remove_full_buckets * stuff * Use remove_full_buckets to avoid allocations * stuff * remove tx * Remove RateLimitConfig * Rename settings_updated_channel to rate_limit_cell * Remove global rate limit cell * impl Default for RateLimitCell * bucket_configs doc comment to explain EnumMap * improve test_rate_limiter * rename default to with_test_config --------- Co-authored-by:Dessalines <dessalines@users.noreply.github.com> Co-authored-by:
Nutomic <me@nutomic.com>
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- Cargo.toml 1 addition, 0 deletionsCargo.toml
- crates/api_common/Cargo.toml 1 addition, 0 deletionscrates/api_common/Cargo.toml
- crates/api_common/src/claims.rs 2 additions, 4 deletionscrates/api_common/src/claims.rs
- crates/api_common/src/context.rs 1 addition, 1 deletioncrates/api_common/src/context.rs
- crates/api_common/src/utils.rs 17 additions, 20 deletionscrates/api_common/src/utils.rs
- crates/api_crud/src/site/create.rs 1 addition, 4 deletionscrates/api_crud/src/site/create.rs
- crates/api_crud/src/site/update.rs 1 addition, 4 deletionscrates/api_crud/src/site/update.rs
- crates/apub/src/objects/mod.rs 2 additions, 6 deletionscrates/apub/src/objects/mod.rs
- crates/utils/Cargo.toml 1 addition, 1 deletioncrates/utils/Cargo.toml
- crates/utils/src/rate_limit/mod.rs 91 additions, 159 deletionscrates/utils/src/rate_limit/mod.rs
- crates/utils/src/rate_limit/rate_limiter.rs 253 additions, 167 deletionscrates/utils/src/rate_limit/rate_limiter.rs
- src/lib.rs 2 additions, 2 deletionssrc/lib.rs
- src/scheduled_tasks.rs 0 additions, 11 deletionssrc/scheduled_tasks.rs
- src/session_middleware.rs 2 additions, 4 deletionssrc/session_middleware.rs
Loading
Please register or sign in to comment