#weighted #robin #round #wrr

roundrobin

A simple roundrobin implementation

2 releases

0.1.1 Dec 9, 2019
0.1.0 Dec 4, 2019

#1 in #robin

MIT license

10KB
216 lines

Roundrobin

Build Status Latest version License

A weighted roundrobin implementation in Rustlang.

Quick Start

roundrobin-rs is available on crates.io.

Add the following dependency to your Cargo.toml:

[dependencies]
roundrobin = "0.1.0"

Example

use roundrobin::wrr::*;

fn main() {
    let url01 = "http://localhost:8081".to_string();
    let url02 = "http://localhost:8082".to_string();
    let server01 = Server::new(url01.clone(), 1);
    let mut rr = WeightedRoundRobinBalancer::new();
    rr.insert_server(server01); // default weight 1
    rr.insert_url(url02.clone(), 2);
    println!("Server: {}", rr.next().unwrap());
}

License

Licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

Dependencies

~87KB