OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/p2p/socket_host.h" | 5 #include "content/browser/renderer_host/p2p/socket_host.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/sys_byteorder.h" | 8 #include "base/sys_byteorder.h" |
9 #include "content/browser/renderer_host/p2p/socket_host_tcp.h" | 9 #include "content/browser/renderer_host/p2p/socket_host_tcp.h" |
10 #include "content/browser/renderer_host/p2p/socket_host_tcp_server.h" | 10 #include "content/browser/renderer_host/p2p/socket_host_tcp_server.h" |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 // 0 1 2 3 | 134 // 0 1 2 3 |
135 // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 135 // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
136 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 136 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
137 // | ID | len=2 | absolute send time | | 137 // | ID | len=2 | absolute send time | |
138 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 138 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
139 if (length != kAbsSendTimeExtensionLength) { | 139 if (length != kAbsSendTimeExtensionLength) { |
140 NOTREACHED(); | 140 NOTREACHED(); |
141 return; | 141 return; |
142 } | 142 } |
143 | 143 |
144 // Now() has resolution ~1-15ms, using HighResNow(). But it is warned not to | 144 // Now() has resolution ~1-15ms |
145 // use it unless necessary, as it is expensive than Now(). | |
146 uint32 now_second = abs_send_time; | 145 uint32 now_second = abs_send_time; |
147 if (!now_second) { | 146 if (!now_second) { |
148 uint64 now_us = | 147 uint64 now_us = |
149 (base::TimeTicks::HighResNow() - base::TimeTicks()).InMicroseconds(); | 148 (base::TimeTicks::Now() - base::TimeTicks()).InMicroseconds(); |
150 // Convert second to 24-bit unsigned with 18 bit fractional part | 149 // Convert second to 24-bit unsigned with 18 bit fractional part |
151 now_second = | 150 now_second = |
152 ((now_us << 18) / base::Time::kMicrosecondsPerSecond) & 0x00FFFFFF; | 151 ((now_us << 18) / base::Time::kMicrosecondsPerSecond) & 0x00FFFFFF; |
153 } | 152 } |
154 // TODO(mallinath) - Add SetBE24 to byteorder.h in libjingle. | 153 // TODO(mallinath) - Add SetBE24 to byteorder.h in libjingle. |
155 extension_data[0] = static_cast<uint8>(now_second >> 16); | 154 extension_data[0] = static_cast<uint8>(now_second >> 16); |
156 extension_data[1] = static_cast<uint8>(now_second >> 8); | 155 extension_data[1] = static_cast<uint8>(now_second >> 8); |
157 extension_data[2] = static_cast<uint8>(now_second); | 156 extension_data[2] = static_cast<uint8>(now_second); |
158 } | 157 } |
159 | 158 |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 send_bytes_delayed_max_ = send_bytes_delayed_cur_; | 684 send_bytes_delayed_max_ = send_bytes_delayed_cur_; |
686 } | 685 } |
687 } | 686 } |
688 | 687 |
689 void P2PSocketHost::DecrementDelayedBytes(uint32 size) { | 688 void P2PSocketHost::DecrementDelayedBytes(uint32 size) { |
690 send_bytes_delayed_cur_ -= size; | 689 send_bytes_delayed_cur_ -= size; |
691 DCHECK_GE(send_bytes_delayed_cur_, 0); | 690 DCHECK_GE(send_bytes_delayed_cur_, 0); |
692 } | 691 } |
693 | 692 |
694 } // namespace content | 693 } // namespace content |
OLD | NEW |