DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/Binary/Initialize/RuntimeBuild/BuildWithConfig.rs
1//! Construct an Echo scheduler from a custom `SchedulerConfig::Struct`.
2//! Returns an `Arc<Scheduler>` ready for use; emits lifecycle dev-log
3//! lines with feature-gated detail (Telemetry, Debug).
4
5use std::sync::Arc;
6
7use Echo::Scheduler::Scheduler::Scheduler;
8
9use crate::{
10 Binary::Initialize::RuntimeBuild::{CreateBuilder, SchedulerConfig},
11 dev_log,
12};
13
14pub fn Fn(Config:SchedulerConfig::Struct) -> Arc<Scheduler> {
15 dev_log!("lifecycle", "[RuntimeBuild] Initializing scheduler with config: {:?}", Config);
16
17 let Builder = CreateBuilder::Fn(Config);
18
19 let SchedulerInstance = Builder.Build();
20
21 #[cfg(feature = "Telemetry")]
22 dev_log!("lifecycle", "[RuntimeBuild] Task metrics enabled");
23
24 #[cfg(feature = "Debug")]
25 dev_log!("lifecycle", "[RuntimeBuild] Scheduler debugging enabled");
26
27 dev_log!("lifecycle", "[RuntimeBuild] Scheduler initialized successfully");
28
29 Arc::new(SchedulerInstance)
30}