1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] pub struct Decoder { pub pkts: usize, pub bytes: usize, pub invalid: usize, pub ipv4: usize, pub ipv6: usize, pub ethernet: usize, pub tcp: usize, pub udp: usize, pub sctp: usize, pub icmpv4: usize, pub icmpv6: usize, pub vxlan: usize, pub avg_pkt_size: usize, pub max_pkt_size: usize, } #[derive(Debug, Deserialize, Serialize)] pub struct Flow { pub tcp: usize, pub udp: usize, pub emerg_mode_entered: usize, pub emerg_mode_over: usize, pub memuse: usize, } #[derive(Debug, Deserialize, Serialize)] pub struct Tcp { pub sessions: usize, pub midstream_pickups: usize, pub stream_depth_reached: usize, pub memuse: usize, pub reassembly_memuse: usize, } #[derive(Debug, Serialize, Deserialize)] pub struct Stats { #[serde(rename = "stats")] pub info: StatsInfo, } #[derive(Debug, Serialize, Deserialize)] pub struct StatsInfo { pub uptime: i64, pub decoder: Decoder, pub flow: Flow, pub tcp: Tcp, }