Skip to main content

Mountain/IPC/WindServiceHandlers/Utilities/
ChannelPriority.rs

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