mirror of
https://github.com/AtHeartEngineering/rust-libp2p-dandelion.git
synced 2026-01-09 05:08:11 -05:00
clippy.toml: Create config and disallow unbounded channels (#2823)
When using channels (e.g. `futures::channel::mpsc` or `std::sync::mpsc`) always use the bounded variant, never use the unbounded variant. When using a bounded channel, a slow consumer eventually slows down a fast producer once the channel bound is reached, ideally granting the slow consumer more system resources e.g. CPU time, keeping queues small and thus latencies low. When using an unbounded channel a fast producer continues being a fast producer, growing the channel buffer indefinitely, increasing latency until the illusion of unboundedness breaks and the system runs out of memory. One may use an unbounded channel if one enforces backpressure through an out-of-band mechanism, e.g. the consumer granting the producer send-tokens through a side-channel.
This commit is contained in:
3
clippy.toml
Normal file
3
clippy.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
disallowed-methods = [
|
||||
{ path = "futures::channel::mpsc::unbounded", reason = "does not enforce backpressure" },
|
||||
]
|
||||
Reference in New Issue
Block a user