Crates.io | weighted-select |
lib.rs | weighted-select |
version | 0.1.1 |
source | src |
created_at | 2019-04-13 13:01:42.126778 |
updated_at | 2019-04-13 13:10:17.421473 |
description | futures::stream::Select with weights |
homepage | |
repository | https://github.com/loyd/weighted-select |
max_upload_size | |
id | 127652 |
size | 10,770 |
Usage:
use weighted_select::{self, IncompleteSelect};
let select = weighted_select::new()
.append(fetch_from_a, 5)
.append(fetch_from_b, 2)
.append(fetch_from_c, 3)
.build();
It produces a stream that combines three underlying streams (fetch_from_*
) and polls them according to their weights (5
, 2
, 3
). Each stream will be polled at most weight
times consecutively.