conreg_client/protocol/
mod.rs1use serde::{Deserialize, Serialize};
2use serde_yaml::Value;
3use std::collections::HashMap;
4
5pub(crate) mod request;
6pub(crate) mod response;
7
8#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10pub struct Instance {
11 pub id: String,
13 pub service_id: String,
15 pub ip: String,
17 pub port: u16,
19 pub meta: HashMap<String, Value>,
21}
22
23impl Instance {
24 pub fn get_weight(&self) -> u64 {
25 self.meta
26 .get("weight")
27 .unwrap_or(&Value::Number(1.into()))
28 .as_u64()
29 .unwrap()
30 }
31}