couchbase_core/results/
pingreport.rs1use crate::error::Error;
20use crate::service_type::ServiceType;
21use serde::ser::SerializeStruct;
22use serde::Serialize;
23use std::collections::HashMap;
24use std::fmt::Display;
25use std::time::Duration;
26
27#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
28#[serde(rename_all = "lowercase")]
29pub enum PingState {
30 Ok,
31 Timeout,
32 Error,
33}
34
35#[derive(Debug, Clone)]
36pub struct EndpointPingReport {
37 pub remote: String,
38 pub error: Option<Error>,
39 pub latency: Duration,
40 pub id: Option<String>,
41 pub namespace: Option<String>,
42 pub state: PingState,
43}
44
45#[derive(Debug, Clone)]
46pub struct PingReport {
47 pub version: u16,
48 pub id: String,
49 pub sdk: String,
50 pub config_rev: i64,
51 pub services: HashMap<ServiceType, Vec<EndpointPingReport>>,
52}