mirror of https://github.com/telemt/telemt.git
Upstream API Policy Snapshot
This commit is contained in:
parent
edce194948
commit
d7716ad875
|
|
@ -202,6 +202,15 @@ pub struct UpstreamApiSnapshot {
|
||||||
pub upstreams: Vec<UpstreamApiItemSnapshot>,
|
pub upstreams: Vec<UpstreamApiItemSnapshot>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy)]
|
||||||
|
pub struct UpstreamApiPolicySnapshot {
|
||||||
|
pub connect_retry_attempts: u32,
|
||||||
|
pub connect_retry_backoff_ms: u64,
|
||||||
|
pub connect_budget_ms: u64,
|
||||||
|
pub unhealthy_fail_threshold: u32,
|
||||||
|
pub connect_failfast_hard_errors: bool,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
pub struct UpstreamEgressInfo {
|
pub struct UpstreamEgressInfo {
|
||||||
pub route_kind: UpstreamRouteKind,
|
pub route_kind: UpstreamRouteKind,
|
||||||
|
|
@ -315,6 +324,16 @@ impl UpstreamManager {
|
||||||
Some(UpstreamApiSnapshot { summary, upstreams })
|
Some(UpstreamApiSnapshot { summary, upstreams })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn api_policy_snapshot(&self) -> UpstreamApiPolicySnapshot {
|
||||||
|
UpstreamApiPolicySnapshot {
|
||||||
|
connect_retry_attempts: self.connect_retry_attempts,
|
||||||
|
connect_retry_backoff_ms: self.connect_retry_backoff.as_millis() as u64,
|
||||||
|
connect_budget_ms: self.connect_budget.as_millis() as u64,
|
||||||
|
unhealthy_fail_threshold: self.unhealthy_fail_threshold,
|
||||||
|
connect_failfast_hard_errors: self.connect_failfast_hard_errors,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
fn resolve_interface_addrs(name: &str, want_ipv6: bool) -> Vec<IpAddr> {
|
fn resolve_interface_addrs(name: &str, want_ipv6: bool) -> Vec<IpAddr> {
|
||||||
use nix::ifaddrs::getifaddrs;
|
use nix::ifaddrs::getifaddrs;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue