Skip to main content

Mountain/Binary/Initialize/RuntimeBuild/
CreateBuilder.rs

1
2//! Translate a `SchedulerConfig::Struct` into a configured Echo
3//! `SchedulerBuilder`. Worker counts are clamped to `[1, 256]` so the
4//! caller can't accidentally request 0 workers or oversaturate.
5
6use Echo::Scheduler::SchedulerBuilder::SchedulerBuilder;
7
8use crate::{Binary::Initialize::RuntimeBuild::SchedulerConfig, dev_log};
9
10pub fn Fn(Config:SchedulerConfig::Struct) -> SchedulerBuilder {
11	let mut Builder = SchedulerBuilder::Create();
12
13	if let Some(Count) = Config.WorkerCount {
14		let Count = Count.clamp(1, 256);
15
16		Builder = Builder.WithWorkerCount(Count);
17
18		dev_log!("lifecycle", "[RuntimeBuild] Configuring {} worker threads", Count);
19	}
20
21	Builder
22}