use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum MobBackendKind {
#[default]
#[serde(rename = "session")]
Session,
External,
}
impl MobBackendKind {
pub fn as_str(self) -> &'static str {
match self {
Self::Session => "session",
Self::External => "external",
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(tag = "kind", rename_all = "snake_case")]
pub enum RuntimeBinding {
Session,
External {
peer_id: String,
address: String,
},
}
impl RuntimeBinding {
pub fn kind(&self) -> MobBackendKind {
match self {
Self::Session => MobBackendKind::Session,
Self::External { .. } => MobBackendKind::External,
}
}
}