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}