| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <deque> | 6 #include <deque> |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "chrome/common/net/notifier/communicator/connection_settings.h" | 11 #include "chrome/common/net/notifier/communicator/connection_settings.h" |
| 12 #include "talk/base/helpers.h" | 12 #include "talk/base/helpers.h" |
| 13 #include "talk/xmpp/xmppclientsettings.h" | 13 #include "talk/xmpp/xmppclientsettings.h" |
| 14 | 14 |
| 15 namespace notifier { | 15 namespace notifier { |
| 16 | 16 |
| 17 class RandomGenerator { | 17 class RandomGenerator { |
| 18 public: | 18 public: |
| 19 int operator()(int ceiling) { | 19 int operator()(int ceiling) { |
| 20 return static_cast<int>(cricket::CreateRandomId() % ceiling); | 20 return static_cast<int>(talk_base::CreateRandomId() % ceiling); |
| 21 } | 21 } |
| 22 }; | 22 }; |
| 23 | 23 |
| 24 void ConnectionSettings::FillXmppClientSettings( | 24 void ConnectionSettings::FillXmppClientSettings( |
| 25 buzz::XmppClientSettings* xcs) const { | 25 buzz::XmppClientSettings* xcs) const { |
| 26 DCHECK(xcs); | 26 DCHECK(xcs); |
| 27 xcs->set_protocol(protocol_); | 27 xcs->set_protocol(protocol_); |
| 28 xcs->set_server(server_); | 28 xcs->set_server(server_); |
| 29 xcs->set_proxy(proxy_.type); | 29 xcs->set_proxy(proxy_.type); |
| 30 if (proxy_.type != talk_base::PROXY_NONE) { | 30 if (proxy_.type != talk_base::PROXY_NONE) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 51 RandomGenerator rg; | 51 RandomGenerator rg; |
| 52 std::random_shuffle(iplist_random.begin(), iplist_random.end(), rg); | 52 std::random_shuffle(iplist_random.begin(), iplist_random.end(), rg); |
| 53 | 53 |
| 54 // Put generated addresses in a new deque, then append on the list_, since | 54 // Put generated addresses in a new deque, then append on the list_, since |
| 55 // there are order dependencies and AddPermutations() may be called more | 55 // there are order dependencies and AddPermutations() may be called more |
| 56 // than once. | 56 // than once. |
| 57 std::deque<ConnectionSettings> list_temp; | 57 std::deque<ConnectionSettings> list_temp; |
| 58 | 58 |
| 59 // Permute addresses for this server. In some cases we haven't resolved the | 59 // Permute addresses for this server. In some cases we haven't resolved the |
| 60 // to ip addresses. | 60 // to ip addresses. |
| 61 talk_base::SocketAddress server(hostname, port, false); | 61 talk_base::SocketAddress server(hostname, port); |
| 62 if (iplist_random.empty()) { | 62 if (iplist_random.empty()) { |
| 63 // We couldn't pre-resolve the hostname, so let's hope it will resolve | 63 // We couldn't pre-resolve the hostname, so let's hope it will resolve |
| 64 // further down the pipeline (by a proxy, for example). | 64 // further down the pipeline (by a proxy, for example). |
| 65 PermuteForAddress(server, special_port_magic, proxy_only, &list_temp); | 65 PermuteForAddress(server, special_port_magic, proxy_only, &list_temp); |
| 66 } else { | 66 } else { |
| 67 // Generate a set of possibilities for each server address. | 67 // Generate a set of possibilities for each server address. |
| 68 // Don't do permute duplicates. | 68 // Don't do permute duplicates. |
| 69 for (size_t index = 0; index < iplist_random.size(); ++index) { | 69 for (size_t index = 0; index < iplist_random.size(); ++index) { |
| 70 if (std::find(iplist_seen_.begin(), iplist_seen_.end(), | 70 if (std::find(iplist_seen_.begin(), iplist_seen_.end(), |
| 71 iplist_random[index]) != iplist_seen_.end()) { | 71 iplist_random[index]) != iplist_seen_.end()) { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 | 119 |
| 120 if (special_port_magic) { | 120 if (special_port_magic) { |
| 121 settings.set_protocol(cricket::PROTO_SSLTCP); | 121 settings.set_protocol(cricket::PROTO_SSLTCP); |
| 122 settings.mutable_server()->SetPort(443); | 122 settings.mutable_server()->SetPort(443); |
| 123 list_temp->push_back(settings); | 123 list_temp->push_back(settings); |
| 124 } | 124 } |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 } | 127 } |
| 128 } // namespace notifier | 128 } // namespace notifier |
| OLD | NEW |