Extract the timer wheel and watch registry from the worker into a reusable std-extension crate, generalize the worker around a RuntimeExtension factory, and decompose the monolithic runtime test file into focused suites. - crates/std: extract TimerWheel (deterministic tick-counted one-shot/interval timers) and WatchRegistry (target-to-watcher death-notification index) out of src/worker.rs into reusable modules - crates/std: add Ctx extension traits (CtxMonitoring, CtxNaming, CtxWatching, CtxTimers) and Runtime extension traits (RuntimeNaming, RuntimeWatching, RuntimeGroups) wiring monitor/name/watch/timer/group support - src/worker.rs: replace the hard-coded timer/watch fields with a generic RuntimeExtension factory and add route_to_pool_or_remote for message routing (local pool, then cross-worker address map, then external inboxes) - tests: split the 4622-line tests/runtime_api.rs into focused suites (actor_lifecycle, message_delivery, runtime_stress, std_extension) plus a shared tests/common/mod.rs harness, and drop watch_api.rs - benches/fuzz: add runtime_benchmarks and adjust the runtime fuzz target - tools/docs: add fn_complexity.py and loc_analysis.py analysis scripts and refresh the runtime and worker-thread docs Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
16 lines
505 B
Rust
16 lines
505 B
Rust
mod supervisor;
|
|
mod router;
|
|
pub mod name_registry;
|
|
pub mod monitor_registry;
|
|
pub mod watch_registry;
|
|
pub mod group_registry;
|
|
pub(crate) mod timer_wheel;
|
|
mod extension;
|
|
mod ctx_ext;
|
|
mod runtime_ext;
|
|
|
|
pub use supervisor::{ChildSpec, RestartPolicy, Supervisor, SupervisorStrategy};
|
|
pub use router::{Router, RoutingStrategy};
|
|
pub use extension::StdExtension;
|
|
pub use ctx_ext::{CtxMonitoring, CtxNaming, CtxGroups, CtxWatching, CtxTimers};
|
|
pub use runtime_ext::{RuntimeNaming, RuntimeGroups, RuntimeWatching};
|