Reduce memory usage of rate limiting (#3111)
* Reduce Vec allocations
* Optimize stuff
* Move embedded migrations to separate crate
* Revert "Move embedded migrations to separate crate"
This reverts commit
44b104997016ee2a1f2c0bb735b75e654666860d.
* clippy, fmt
* Shrink rate limit allowance to f32
* Initialize rate limit allowance directly
* Add removal of old rate limit buckets
* Improve readability
* Remove usage of is_okay_and for Rust 1.67 compatibility
* Add dhat-heap feature
* Fix api_benchmark.sh and add run_and_benchmark.sh
* Revert "Fix api_benchmark.sh and add run_and_benchmark.sh"
This reverts commit
b4528e5b85dd3f13cea43d72ada9382200c8fc77.
* Revert "Add dhat-heap feature"
This reverts commit
08e835d487b983c44ce2570d8c396d570d426916.
* Manually revert remaining stuff
* Use Ipv6Addr in RateLimitStorage
* Shrink last_checked in RateLimitBucket to 32 bits
* Fix rate_limit::get_ip
* Stuff (#1)
* Update rate_limiter.rs
* Update mod.rs
* Update scheduled_tasks.rs
* Fix rate_limiter.rs
* Dullbananas patch 1 (#2)
* Update rate_limiter.rs
* Update mod.rs
* Update scheduled_tasks.rs
* Fix rate_limiter.rs
* Rate limit IPv6 addresses in groups
* Fmt lib.rs
* woodpicker trigger
* Refactor and comment `check_rate_limit_full`
* Add `test_split_ipv6`
* Replace -2.0 with UNINITIALIZED_TOKEN_AMOUNT
* Add `test_rate_limiter`
---------
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>