web_wt_sys/webtransport/web_transport_connection_stats.rs
1//! [`WebTransportConnectionStats`]
2
3use wasm_bindgen::prelude::*;
4
5use super::*;
6
7crate::dictionary_type! {
8 /// ```webidl
9 /// dictionary WebTransportConnectionStats {
10 /// unsigned long long bytesSent;
11 /// unsigned long long bytesSentOverhead;
12 /// unsigned long long bytesAcknowledged;
13 /// unsigned long long packetsSent;
14 /// unsigned long long bytesLost;
15 /// unsigned long long packetsLost;
16 /// unsigned long long bytesReceived;
17 /// unsigned long long packetsReceived;
18 /// DOMHighResTimeStamp smoothedRtt;
19 /// DOMHighResTimeStamp rttVariation;
20 /// DOMHighResTimeStamp minRtt;
21 /// required WebTransportDatagramStats datagrams;
22 /// unsigned long long? estimatedSendRate = null;
23 /// boolean atSendCapacity = false;
24 /// };
25 /// ```
26 ///
27 /// <https://w3c.github.io/webtransport/#web-transport-connection-stats>
28 pub type WebTransportConnectionStats {
29 bytes_sent: u64 => bytesSent
30 bytes_sent_overhead: u64 => bytesSentOverhead
31 bytes_acknowledged: u64 => bytesAcknowledged
32 packets_sent: u64 => packetsSent
33 bytes_lost: u64 => bytesLost
34 packets_lost: u64 => packetsLost
35 bytes_received: u64 => bytesReceived
36 packets_received: u64 => packetsReceived
37 smoothed_rtt: DOMHighResTimeStamp => smoothedRtt
38 rtt_variation: DOMHighResTimeStamp => rttVariation
39 min_rtt: DOMHighResTimeStamp => minRtt
40 datagrams: WebTransportDatagramStats => datagrams
41 estimated_send_rate: u64 => estimatedSendRate
42 at_send_capacity: bool => atSendCapacity
43 }
44}
45
46/// typedef double DOMHighResTimeStamp;
47type DOMHighResTimeStamp = f64;