hydro2_async_scheduler/
async_scheduler.rs1crate::ix!();
3
4#[derive(Getters,Builder,Debug, Clone)]
5#[getset(get="pub")]
6#[builder(setter(into))]
7pub struct AsyncScheduler {
8 config: AsyncSchedulerConfig,
9}
10
11impl AsyncScheduler {
12
13 pub fn with_config(cfg: AsyncSchedulerConfig) -> AsyncScheduler {
15 AsyncSchedulerBuilder::default()
16 .config(cfg)
17 .build()
18 .unwrap() }
20
21 pub fn new_test(strategy: BatchingStrategy) -> Result<Self, NetworkError> {
23 let config_result = AsyncSchedulerConfigBuilder::default()
25 .batching_strategy(strategy)
26 .max_parallelism(2_usize) .enable_streaming(false)
28 .build();
29
30 let config = match config_result {
32 Ok(cfg) => cfg,
33 Err(_builder_err) => {
34 return Err(NetworkError::AsyncSchedulerConfigBuilderFailure);
35 }
36 };
37
38 let scheduler = AsyncScheduler { config };
39 Ok(scheduler)
40 }
41}