Index: content/browser/renderer_host/p2p/socket_host.h |
diff --git a/content/browser/renderer_host/p2p/socket_host.h b/content/browser/renderer_host/p2p/socket_host.h |
index 8a12898b35b5efeb8ca63284ec9b3fc0da2349b9..35efdb4f3c33b3955f2f637eed413c8350fd59e3 100644 |
--- a/content/browser/renderer_host/p2p/socket_host.h |
+++ b/content/browser/renderer_host/p2p/socket_host.h |
@@ -91,6 +91,9 @@ class CONTENT_EXPORT P2PSocketHost { |
protected: |
friend class P2PSocketHostTcpTestBase; |
+ // This should match suffix IPProtocolType defined in histograms.xml. |
+ enum ProtocolType { UNKNOWN = 0, UDP = 0x1, TCP = 0x2 }; |
+ |
// TODO(mallinath) - Remove this below enum and use one defined in |
// libjingle/souce/talk/p2p/base/stun.h |
enum StunMessageType { |
@@ -142,6 +145,12 @@ class CONTENT_EXPORT P2PSocketHost { |
size_t packet_length, |
bool incoming); |
+ // Used by subclasses to track the metrics of delayed bytes and packets. |
+ void IncrementDelayedPackets(); |
+ void IncrementTotalSentPackets(); |
+ void IncrementDelayedBytes(uint32 size); |
+ void DecrementDelayedBytes(uint32 size); |
+ |
IPC::Sender* message_sender_; |
int id_; |
State state_; |
@@ -151,6 +160,19 @@ class CONTENT_EXPORT P2PSocketHost { |
base::WeakPtrFactory<P2PSocketHost> weak_ptr_factory_; |
+ ProtocolType protocol_type_; |
+ |
+ private: |
+ // Track total delayed packets for calculating how many packets are |
+ // delayed by system at the end of call. |
+ uint32 send_packets_delayed_total_; |
+ uint32 send_packets_total_; |
+ |
+ // Track the maximum of consecutive delayed bytes caused by system's |
+ // EWOULDBLOCK. |
+ int32 send_bytes_delayed_max_; |
+ int32 send_bytes_delayed_cur_; |
+ |
DISALLOW_COPY_AND_ASSIGN(P2PSocketHost); |
}; |