grapsus_agent_protocol/v2/
mod.rs1mod capabilities;
12pub mod client;
13mod control;
14mod health;
15mod metrics;
16pub mod observability;
17pub mod pool;
18pub mod protocol_metrics;
19pub mod reverse;
20pub mod server;
21mod streaming;
22pub mod uds;
23pub mod uds_server;
24
25pub use capabilities::*;
26pub use client::{AgentClientV2, CancelReason, ConfigUpdateCallback, FlowState, MetricsCallback};
27pub use control::*;
28pub use health::*;
29pub use metrics::*;
30pub use observability::{
31 AgentConnection, ConfigPusher, ConfigPusherConfig, ConfigUpdateHandler, MetricsCollector,
32 MetricsCollectorConfig, MetricsSnapshot, PushResult, PushStatus, UnifiedMetricsAggregator,
33};
34pub use pool::{AgentPool, AgentPoolConfig, AgentPoolStats, LoadBalanceStrategy, V2Transport};
35pub use protocol_metrics::{
36 HistogramMetric, HistogramSnapshot, ProtocolMetrics, ProtocolMetricsSnapshot,
37};
38pub use reverse::{
39 RegistrationRequest, RegistrationResponse, ReverseConnectionClient, ReverseConnectionConfig,
40 ReverseConnectionListener,
41};
42pub use server::{
43 AgentHandlerV2, DrainReason, GrpcAgentHandlerV2, GrpcAgentServerV2, ShutdownReason,
44};
45pub use streaming::*;
46pub use uds::{
47 AgentClientV2Uds, MessageType, UdsCapabilities, UdsEncoding, UdsFeatures, UdsHandshakeRequest,
48 UdsHandshakeResponse, UdsLimits, MAX_UDS_MESSAGE_SIZE,
49};
50pub use uds_server::UdsAgentServerV2;
51
52pub const PROTOCOL_VERSION_2: u32 = 2;
54
55pub fn supports_version(version: u32) -> bool {
57 version <= PROTOCOL_VERSION_2
58}
59
60#[cfg(test)]
61mod tests {
62 use super::*;
63
64 #[test]
65 fn test_version_support() {
66 assert!(supports_version(1));
67 assert!(supports_version(2));
68 assert!(!supports_version(3));
69 }
70}