use serde::{Deserialize, Serialize};
use serde_yaml::Value;
use std::collections::HashMap;
pub(crate) mod request;
pub(crate) mod response;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct Instance {
pub id: String,
pub service_id: String,
pub ip: String,
pub port: u16,
pub meta: HashMap<String, Value>,
}
impl Instance {
pub fn get_weight(&self) -> u64 {
self.meta
.get("weight")
.unwrap_or(&Value::Number(1.into()))
.as_u64()
.unwrap()
}
}