Index: webrtc/api/stats/rtcstats_objects.h |
diff --git a/webrtc/api/stats/rtcstats_objects.h b/webrtc/api/stats/rtcstats_objects.h |
index 4738fe89a89793e7f3993c843693927fc05ad7ba..ad6a39cdfeccd337e9088299e20e0732e84302f0 100644 |
--- a/webrtc/api/stats/rtcstats_objects.h |
+++ b/webrtc/api/stats/rtcstats_objects.h |
@@ -17,6 +17,14 @@ |
namespace webrtc { |
+// https://w3c.github.io/webrtc-pc/#idl-def-rtcdatachannelstate |
+struct RTCDataChannelState { |
+ static const char* kConnecting; |
+ static const char* kOpen; |
+ static const char* kClosing; |
+ static const char* kClosed; |
+}; |
+ |
// https://w3c.github.io/webrtc-stats/#dom-rtcstatsicecandidatepairstate |
struct RTCStatsIceCandidatePairState { |
static const char* kFrozen; |
@@ -27,7 +35,7 @@ struct RTCStatsIceCandidatePairState { |
static const char* kCancelled; |
}; |
-// https://www.w3.org/TR/webrtc/#rtcicecandidatetype-enum |
+// https://w3c.github.io/webrtc-pc/#rtcicecandidatetype-enum |
struct RTCIceCandidateType { |
static const char* kHost; |
static const char* kSrflx; |
@@ -129,6 +137,27 @@ class RTCCertificateStats final : public RTCStats { |
RTCStatsMember<std::string> issuer_certificate_id; |
}; |
+// https://w3c.github.io/webrtc-stats/#dcstats-dict* |
+class RTCDataChannelStats final : public RTCStats { |
+ public: |
+ WEBRTC_RTCSTATS_DECL(); |
+ |
+ RTCDataChannelStats(const std::string& id, int64_t timestamp_us); |
+ RTCDataChannelStats(std::string&& id, int64_t timestamp_us); |
+ RTCDataChannelStats(const RTCDataChannelStats& other); |
+ ~RTCDataChannelStats() override; |
+ |
+ RTCStatsMember<std::string> label; |
+ RTCStatsMember<std::string> protocol; |
+ RTCStatsMember<int32_t> datachannelid; |
+ // TODO(hbos): Support enum types? "RTCStatsMember<RTCDataChannelState>"? |
+ RTCStatsMember<std::string> state; |
+ RTCStatsMember<uint32_t> messages_sent; |
+ RTCStatsMember<uint64_t> bytes_sent; |
+ RTCStatsMember<uint32_t> messages_received; |
+ RTCStatsMember<uint64_t> bytes_received; |
+}; |
+ |
// https://w3c.github.io/webrtc-stats/#pcstats-dict* |
// TODO(hbos): Tracking bug crbug.com/636818 |
class RTCPeerConnectionStats final : public RTCStats { |