starlane_space/space/wave/core/hyper.rs
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
use serde::{Deserialize, Serialize};
use crate::space::util::ValueMatcher;
#[derive(
Debug,
Clone,
Serialize,
Deserialize,
Eq,
PartialEq,
Hash,
strum_macros::Display,
strum_macros::EnumString,
)]
pub enum HypMethod {
Init,
Assign,
Host,
Provision,
Knock,
Hop,
Transport,
HyperWave,
Search,
}
impl Default for HypMethod {
fn default() -> Self {
Self::Init
}
}
// this need ei
/*
impl HypMethod {
pub fn as_str(&self) -> & 'static str {
match self {
HypMethod::Init => "Hyp<Init>",
HypMethod::Assign => "Hyp<Assign>",
HypMethod::Host => "Hyp<Host>",
HypMethod::Provision => "Hyp<Provision>",
HypMethod::Knock => "Hyp<Knock>",
HypMethod::Hop => "Hyp<Hop>",
HypMethod::Transport => "Hyp<Transport>",
HypMethod::HyperWave => "Hyp<HyperWave>",
HypMethod::Search => "Hyp<Search>"
}
}
}
*/
impl ValueMatcher<HypMethod> for HypMethod {
fn is_match(&self, x: &HypMethod) -> Result<(), ()> {
if *x == *self {
Ok(())
} else {
Err(())
}
}
}