modbus_relay/connection/
events.rs

1use super::{ConnectionStats, stats::ClientStats};
2use std::net::SocketAddr;
3use tokio::sync::oneshot;
4
5#[derive(Debug)]
6pub enum StatEvent {
7    /// Client connected from address
8    ClientConnected(SocketAddr),
9    /// Client disconnected from address
10    ClientDisconnected(SocketAddr),
11    /// Request processed with success/failure and duration
12    RequestProcessed {
13        addr: SocketAddr,
14        success: bool,
15        duration_ms: u64,
16    },
17    /// Query stats for specific address
18    QueryStats {
19        addr: SocketAddr,
20        response_tx: oneshot::Sender<ClientStats>,
21    },
22    /// Query global connection stats
23    QueryConnectionStats {
24        response_tx: oneshot::Sender<ConnectionStats>,
25    },
26}