Async WRR Queue
this is a wrapping of weighted round-robin schedule algorithm, utilizing atomic
operation and cache queue in order to avoid lock latency or the schedule latency.
And we have used an async RwLock (feature default
or tokio
) to overcome the
conflict of select instance and recalculate queue.
- async interface for tokio
- Atomic operation aimed to provide the best run-time performance
- dynamic insert supported
Example
use *;
async
features
default
:tokio
tokio
: async interface, usingtokio::sync::RwLock
to guarantee best performanceblocking
: not compatible withtokio
, usingstd::sync::RwLock
for blocking acquire