| OLD | NEW |
| 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 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 RelayServerBinding* binding; | 348 RelayServerBinding* binding; |
| 349 | 349 |
| 350 BindingMap::iterator biter = bindings_.find(username); | 350 BindingMap::iterator biter = bindings_.find(username); |
| 351 if (biter != bindings_.end()) { | 351 if (biter != bindings_.end()) { |
| 352 binding = biter->second; | 352 binding = biter->second; |
| 353 } else { | 353 } else { |
| 354 // NOTE: In the future, bindings will be created by the bot only. This | 354 // NOTE: In the future, bindings will be created by the bot only. This |
| 355 // else-branch will then disappear. | 355 // else-branch will then disappear. |
| 356 | 356 |
| 357 // Compute the appropriate lifetime for this binding. | 357 // Compute the appropriate lifetime for this binding. |
| 358 uint32_t lifetime = MAX_LIFETIME; | 358 int lifetime = MAX_LIFETIME; |
| 359 const StunUInt32Attribute* lifetime_attr = | 359 const StunUInt32Attribute* lifetime_attr = |
| 360 request.GetUInt32(STUN_ATTR_LIFETIME); | 360 request.GetUInt32(STUN_ATTR_LIFETIME); |
| 361 if (lifetime_attr) | 361 if (lifetime_attr) |
| 362 lifetime = std::min(lifetime, lifetime_attr->value() * 1000); | 362 lifetime = |
| 363 std::min(lifetime, static_cast<int>(lifetime_attr->value() * 1000)); |
| 363 | 364 |
| 364 binding = new RelayServerBinding(this, username, "0", lifetime); | 365 binding = new RelayServerBinding(this, username, "0", lifetime); |
| 365 binding->SignalTimeout.connect(this, &RelayServer::OnTimeout); | 366 binding->SignalTimeout.connect(this, &RelayServer::OnTimeout); |
| 366 bindings_[username] = binding; | 367 bindings_[username] = binding; |
| 367 | 368 |
| 368 if (log_bindings_) { | 369 if (log_bindings_) { |
| 369 LOG(LS_INFO) << "Added new binding " << username << ", " | 370 LOG(LS_INFO) << "Added new binding " << username << ", " |
| 370 << bindings_.size() << " total"; | 371 << bindings_.size() << " total"; |
| 371 } | 372 } |
| 372 } | 373 } |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 void RelayServerConnection::Unlock() { | 647 void RelayServerConnection::Unlock() { |
| 647 locked_ = false; | 648 locked_ = false; |
| 648 } | 649 } |
| 649 | 650 |
| 650 // IDs used for posted messages: | 651 // IDs used for posted messages: |
| 651 const uint32_t MSG_LIFETIME_TIMER = 1; | 652 const uint32_t MSG_LIFETIME_TIMER = 1; |
| 652 | 653 |
| 653 RelayServerBinding::RelayServerBinding(RelayServer* server, | 654 RelayServerBinding::RelayServerBinding(RelayServer* server, |
| 654 const std::string& username, | 655 const std::string& username, |
| 655 const std::string& password, | 656 const std::string& password, |
| 656 uint32_t lifetime) | 657 int lifetime) |
| 657 : server_(server), | 658 : server_(server), |
| 658 username_(username), | 659 username_(username), |
| 659 password_(password), | 660 password_(password), |
| 660 lifetime_(lifetime) { | 661 lifetime_(lifetime) { |
| 661 // For now, every connection uses the standard magic cookie value. | 662 // For now, every connection uses the standard magic cookie value. |
| 662 magic_cookie_.append( | 663 magic_cookie_.append( |
| 663 reinterpret_cast<const char*>(TURN_MAGIC_COOKIE_VALUE), | 664 reinterpret_cast<const char*>(TURN_MAGIC_COOKIE_VALUE), |
| 664 sizeof(TURN_MAGIC_COOKIE_VALUE)); | 665 sizeof(TURN_MAGIC_COOKIE_VALUE)); |
| 665 | 666 |
| 666 // Initialize the last-used time to now. | 667 // Initialize the last-used time to now. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 686 | 687 |
| 687 void RelayServerBinding::AddInternalConnection(RelayServerConnection* conn) { | 688 void RelayServerBinding::AddInternalConnection(RelayServerConnection* conn) { |
| 688 internal_connections_.push_back(conn); | 689 internal_connections_.push_back(conn); |
| 689 } | 690 } |
| 690 | 691 |
| 691 void RelayServerBinding::AddExternalConnection(RelayServerConnection* conn) { | 692 void RelayServerBinding::AddExternalConnection(RelayServerConnection* conn) { |
| 692 external_connections_.push_back(conn); | 693 external_connections_.push_back(conn); |
| 693 } | 694 } |
| 694 | 695 |
| 695 void RelayServerBinding::NoteUsed() { | 696 void RelayServerBinding::NoteUsed() { |
| 696 last_used_ = rtc::Time(); | 697 last_used_ = rtc::Time64(); |
| 697 } | 698 } |
| 698 | 699 |
| 699 bool RelayServerBinding::HasMagicCookie(const char* bytes, size_t size) const { | 700 bool RelayServerBinding::HasMagicCookie(const char* bytes, size_t size) const { |
| 700 if (size < 24 + magic_cookie_.size()) { | 701 if (size < 24 + magic_cookie_.size()) { |
| 701 return false; | 702 return false; |
| 702 } else { | 703 } else { |
| 703 return memcmp(bytes + 24, magic_cookie_.c_str(), magic_cookie_.size()) == 0; | 704 return memcmp(bytes + 24, magic_cookie_.c_str(), magic_cookie_.size()) == 0; |
| 704 } | 705 } |
| 705 } | 706 } |
| 706 | 707 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 727 } | 728 } |
| 728 return 0; | 729 return 0; |
| 729 } | 730 } |
| 730 | 731 |
| 731 void RelayServerBinding::OnMessage(rtc::Message *pmsg) { | 732 void RelayServerBinding::OnMessage(rtc::Message *pmsg) { |
| 732 if (pmsg->message_id == MSG_LIFETIME_TIMER) { | 733 if (pmsg->message_id == MSG_LIFETIME_TIMER) { |
| 733 ASSERT(!pmsg->pdata); | 734 ASSERT(!pmsg->pdata); |
| 734 | 735 |
| 735 // If the lifetime timeout has been exceeded, then send a signal. | 736 // If the lifetime timeout has been exceeded, then send a signal. |
| 736 // Otherwise, just keep waiting. | 737 // Otherwise, just keep waiting. |
| 737 if (rtc::Time() >= last_used_ + lifetime_) { | 738 if (rtc::Time64() >= last_used_ + lifetime_) { |
| 738 LOG(LS_INFO) << "Expiring binding " << username_; | 739 LOG(LS_INFO) << "Expiring binding " << username_; |
| 739 SignalTimeout(this); | 740 SignalTimeout(this); |
| 740 } else { | 741 } else { |
| 741 server_->thread()->PostDelayed(lifetime_, this, MSG_LIFETIME_TIMER); | 742 server_->thread()->PostDelayed(lifetime_, this, MSG_LIFETIME_TIMER); |
| 742 } | 743 } |
| 743 | 744 |
| 744 } else { | 745 } else { |
| 745 ASSERT(false); | 746 ASSERT(false); |
| 746 } | 747 } |
| 747 } | 748 } |
| 748 | 749 |
| 749 } // namespace cricket | 750 } // namespace cricket |
| OLD | NEW |