1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// Every data packet transmitted has data specific to either the Event or
/// Actor managers. This value is written to differentiate those parts of the
/// payload.
#[derive(Copy, Clone, Debug, PartialEq)]
#[repr(u8)]
pub enum ManagerType {
    /// An EventManager
    Event = 1,
    /// An ActorManager
    Actor = 2,
    /// An CommandManager
    Command = 3,
    /// Unknown Manager
    Unknown = 255,
}

impl From<u8> for ManagerType {
    fn from(orig: u8) -> Self {
        match orig {
            1 => return ManagerType::Event,
            2 => return ManagerType::Actor,
            3 => return ManagerType::Command,
            _ => return ManagerType::Unknown,
        };
    }
}