Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: webrtc/p2p/base/p2ptransportchannel.cc

Issue 1923213002: Rename rtc::Time64 --> rtc::TimeMillis. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Clarify TODO comment. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 1021 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 rtc::DiffServCodePoint P2PTransportChannel::DefaultDscpValue() const { 1032 rtc::DiffServCodePoint P2PTransportChannel::DefaultDscpValue() const {
1033 OptionMap::const_iterator it = options_.find(rtc::Socket::OPT_DSCP); 1033 OptionMap::const_iterator it = options_.find(rtc::Socket::OPT_DSCP);
1034 if (it == options_.end()) { 1034 if (it == options_.end()) {
1035 return rtc::DSCP_NO_CHANGE; 1035 return rtc::DSCP_NO_CHANGE;
1036 } 1036 }
1037 return static_cast<rtc::DiffServCodePoint> (it->second); 1037 return static_cast<rtc::DiffServCodePoint> (it->second);
1038 } 1038 }
1039 1039
1040 // Monitor connection states. 1040 // Monitor connection states.
1041 void P2PTransportChannel::UpdateConnectionStates() { 1041 void P2PTransportChannel::UpdateConnectionStates() {
1042 int64_t now = rtc::Time64(); 1042 int64_t now = rtc::TimeMillis();
1043 1043
1044 // We need to copy the list of connections since some may delete themselves 1044 // We need to copy the list of connections since some may delete themselves
1045 // when we call UpdateState. 1045 // when we call UpdateState.
1046 for (size_t i = 0; i < connections_.size(); ++i) 1046 for (size_t i = 0; i < connections_.size(); ++i)
1047 connections_[i]->UpdateState(now); 1047 connections_[i]->UpdateState(now);
1048 } 1048 }
1049 1049
1050 // Prepare for best candidate sorting. 1050 // Prepare for best candidate sorting.
1051 void P2PTransportChannel::RequestSort() { 1051 void P2PTransportChannel::RequestSort() {
1052 if (!sort_dirty_) { 1052 if (!sort_dirty_) {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1277 } 1277 }
1278 1278
1279 // Handle queued up check-and-ping request 1279 // Handle queued up check-and-ping request
1280 void P2PTransportChannel::OnCheckAndPing() { 1280 void P2PTransportChannel::OnCheckAndPing() {
1281 // Make sure the states of the connections are up-to-date (since this affects 1281 // Make sure the states of the connections are up-to-date (since this affects
1282 // which ones are pingable). 1282 // which ones are pingable).
1283 UpdateConnectionStates(); 1283 UpdateConnectionStates();
1284 // When the best connection is either not receiving or not writable, 1284 // When the best connection is either not receiving or not writable,
1285 // switch to weak ping interval. 1285 // switch to weak ping interval.
1286 int ping_interval = weak() ? weak_ping_interval_ : STRONG_PING_INTERVAL; 1286 int ping_interval = weak() ? weak_ping_interval_ : STRONG_PING_INTERVAL;
1287 if (rtc::Time64() >= last_ping_sent_ms_ + ping_interval) { 1287 if (rtc::TimeMillis() >= last_ping_sent_ms_ + ping_interval) {
1288 Connection* conn = FindNextPingableConnection(); 1288 Connection* conn = FindNextPingableConnection();
1289 if (conn) { 1289 if (conn) {
1290 PingConnection(conn); 1290 PingConnection(conn);
1291 MarkConnectionPinged(conn); 1291 MarkConnectionPinged(conn);
1292 } 1292 }
1293 } 1293 }
1294 int delay = std::min(ping_interval, check_receiving_interval_); 1294 int delay = std::min(ping_interval, check_receiving_interval_);
1295 thread()->PostDelayed(delay, this, MSG_CHECK_AND_PING); 1295 thread()->PostDelayed(delay, this, MSG_CHECK_AND_PING);
1296 } 1296 }
1297 1297
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 } 1336 }
1337 1337
1338 // Returns the next pingable connection to ping. This will be the oldest 1338 // Returns the next pingable connection to ping. This will be the oldest
1339 // pingable connection unless we have a connected, writable connection that is 1339 // pingable connection unless we have a connected, writable connection that is
1340 // past the maximum acceptable ping interval. When reconnecting a TCP 1340 // past the maximum acceptable ping interval. When reconnecting a TCP
1341 // connection, the best connection is disconnected, although still WRITABLE 1341 // connection, the best connection is disconnected, although still WRITABLE
1342 // while reconnecting. The newly created connection should be selected as the 1342 // while reconnecting. The newly created connection should be selected as the
1343 // ping target to become writable instead. See the big comment in 1343 // ping target to become writable instead. See the big comment in
1344 // CompareConnections. 1344 // CompareConnections.
1345 Connection* P2PTransportChannel::FindNextPingableConnection() { 1345 Connection* P2PTransportChannel::FindNextPingableConnection() {
1346 int64_t now = rtc::Time64(); 1346 int64_t now = rtc::TimeMillis();
1347 Connection* conn_to_ping = nullptr; 1347 Connection* conn_to_ping = nullptr;
1348 if (best_connection_ && best_connection_->connected() && 1348 if (best_connection_ && best_connection_->connected() &&
1349 best_connection_->writable() && 1349 best_connection_->writable() &&
1350 (best_connection_->last_ping_sent() + config_.max_strong_interval <= 1350 (best_connection_->last_ping_sent() + config_.max_strong_interval <=
1351 now)) { 1351 now)) {
1352 conn_to_ping = best_connection_; 1352 conn_to_ping = best_connection_;
1353 } else { 1353 } else {
1354 conn_to_ping = FindConnectionToPing(now); 1354 conn_to_ping = FindConnectionToPing(now);
1355 } 1355 }
1356 return conn_to_ping; 1356 return conn_to_ping;
(...skipping 20 matching lines...) Expand all
1377 void P2PTransportChannel::PingConnection(Connection* conn) { 1377 void P2PTransportChannel::PingConnection(Connection* conn) {
1378 bool use_candidate = false; 1378 bool use_candidate = false;
1379 if (remote_ice_mode_ == ICEMODE_FULL && ice_role_ == ICEROLE_CONTROLLING) { 1379 if (remote_ice_mode_ == ICEMODE_FULL && ice_role_ == ICEROLE_CONTROLLING) {
1380 use_candidate = (conn == best_connection_) || (best_connection_ == NULL) || 1380 use_candidate = (conn == best_connection_) || (best_connection_ == NULL) ||
1381 (!best_connection_->writable()) || 1381 (!best_connection_->writable()) ||
1382 (CompareConnectionCandidates(best_connection_, conn) < 0); 1382 (CompareConnectionCandidates(best_connection_, conn) < 0);
1383 } else if (remote_ice_mode_ == ICEMODE_LITE && conn == best_connection_) { 1383 } else if (remote_ice_mode_ == ICEMODE_LITE && conn == best_connection_) {
1384 use_candidate = best_connection_->writable(); 1384 use_candidate = best_connection_->writable();
1385 } 1385 }
1386 conn->set_use_candidate_attr(use_candidate); 1386 conn->set_use_candidate_attr(use_candidate);
1387 last_ping_sent_ms_ = rtc::Time64(); 1387 last_ping_sent_ms_ = rtc::TimeMillis();
1388 conn->Ping(last_ping_sent_ms_); 1388 conn->Ping(last_ping_sent_ms_);
1389 } 1389 }
1390 1390
1391 // When a connection's state changes, we need to figure out who to use as 1391 // When a connection's state changes, we need to figure out who to use as
1392 // the best connection again. It could have become usable, or become unusable. 1392 // the best connection again. It could have become usable, or become unusable.
1393 void P2PTransportChannel::OnConnectionStateChange(Connection* connection) { 1393 void P2PTransportChannel::OnConnectionStateChange(Connection* connection) {
1394 ASSERT(worker_thread_ == rtc::Thread::Current()); 1394 ASSERT(worker_thread_ == rtc::Thread::Current());
1395 1395
1396 // Update the best connection if the state change is from pending best 1396 // Update the best connection if the state change is from pending best
1397 // connection and role is controlled. 1397 // connection and role is controlled.
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 1638
1639 // During the initial state when nothing has been pinged yet, return the first 1639 // During the initial state when nothing has been pinged yet, return the first
1640 // one in the ordered |connections_|. 1640 // one in the ordered |connections_|.
1641 return *(std::find_if(connections_.begin(), connections_.end(), 1641 return *(std::find_if(connections_.begin(), connections_.end(),
1642 [conn1, conn2](Connection* conn) { 1642 [conn1, conn2](Connection* conn) {
1643 return conn == conn1 || conn == conn2; 1643 return conn == conn1 || conn == conn2;
1644 })); 1644 }));
1645 } 1645 }
1646 1646
1647 } // namespace cricket 1647 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/p2p/base/faketransportcontroller.h ('k') | webrtc/p2p/base/p2ptransportchannel_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698