Skip to main content

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;