Mountain/IPC/WindServiceHandlers/Utilities/ChannelPriority.rs
1//! Maps a wire command string → Echo scheduler lane via the Common
2//! `Channel` registry's `Priority()` accessor. Unknown commands fall
3//! back to `Priority::Normal` so unclassified callers don't starve the
4//! high-priority queue.
5
6use Echo::Task::Priority::Priority as EchoPriority;
7
8pub fn Fn(Command:&str) -> EchoPriority {
9 use std::str::FromStr;
10
11 match CommonLibrary::IPC::Channel::Channel::from_str(Command) {
12 Ok(Channel) => {
13 match Channel.Priority() {
14 CommonLibrary::IPC::Channel::ChannelPriority::High => EchoPriority::High,
15
16 CommonLibrary::IPC::Channel::ChannelPriority::Normal => EchoPriority::Normal,
17
18 CommonLibrary::IPC::Channel::ChannelPriority::Low => EchoPriority::Low,
19 }
20 },
21
22 Err(_) => EchoPriority::Normal,
23 }
24}