Skip to main content

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}