mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-04 16:37:46 +08:00
fix(tunnel): bound upstream clients and heartbeat deltas
This commit is contained in:
@@ -810,11 +810,11 @@ pub(crate) async fn maybe_build_local_internal_proxy_response_impl(
|
||||
node_id: node_id.clone(),
|
||||
heartbeat_interval: payload.heartbeat_interval,
|
||||
active_connections: payload.active_connections,
|
||||
total_requests_delta: payload.total_requests,
|
||||
total_requests_delta: payload.window_total_requests.or(payload.total_requests),
|
||||
avg_latency_ms: payload.avg_latency_ms,
|
||||
failed_requests_delta: payload.failed_requests,
|
||||
dns_failures_delta: payload.dns_failures,
|
||||
stream_errors_delta: payload.stream_errors,
|
||||
failed_requests_delta: payload.window_failed_requests.or(payload.failed_requests),
|
||||
dns_failures_delta: payload.window_dns_failures.or(payload.dns_failures),
|
||||
stream_errors_delta: payload.window_stream_errors.or(payload.stream_errors),
|
||||
proxy_metadata: payload.proxy_metadata,
|
||||
proxy_version: payload.proxy_version,
|
||||
};
|
||||
|
||||
@@ -402,10 +402,16 @@ pub(crate) fn parse_internal_tunnel_heartbeat_request(
|
||||
.is_some_and(|value| !(5..=600).contains(&value))
|
||||
|| payload.active_connections.is_some_and(|value| value < 0)
|
||||
|| payload.total_requests.is_some_and(|value| value < 0)
|
||||
|| payload.window_total_requests.is_some_and(|value| value < 0)
|
||||
|| payload.avg_latency_ms.is_some_and(|value| value < 0.0)
|
||||
|| payload.failed_requests.is_some_and(|value| value < 0)
|
||||
|| payload
|
||||
.window_failed_requests
|
||||
.is_some_and(|value| value < 0)
|
||||
|| payload.dns_failures.is_some_and(|value| value < 0)
|
||||
|| payload.window_dns_failures.is_some_and(|value| value < 0)
|
||||
|| payload.stream_errors.is_some_and(|value| value < 0)
|
||||
|| payload.window_stream_errors.is_some_and(|value| value < 0)
|
||||
|| payload
|
||||
.proxy_version
|
||||
.as_deref()
|
||||
|
||||
@@ -12,14 +12,22 @@ pub(crate) struct InternalTunnelHeartbeatRequest {
|
||||
#[serde(default)]
|
||||
pub(crate) total_requests: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) window_total_requests: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) avg_latency_ms: Option<f64>,
|
||||
#[serde(default)]
|
||||
pub(crate) failed_requests: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) window_failed_requests: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) dns_failures: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) window_dns_failures: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) stream_errors: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) window_stream_errors: Option<i64>,
|
||||
#[serde(default)]
|
||||
pub(crate) proxy_metadata: Option<serde_json::Value>,
|
||||
#[serde(default)]
|
||||
pub(crate) proxy_version: Option<String>,
|
||||
|
||||
Reference in New Issue
Block a user