#include "talk/app/webrtc/portallocatorfactory.h"
-#include "talk/base/logging.h"
-#include "talk/base/network.h"
-#include "talk/base/thread.h"
#include "talk/p2p/base/basicpacketsocketfactory.h"
#include "talk/p2p/client/basicportallocator.h"
+#include "webrtc/base/logging.h"
+#include "webrtc/base/network.h"
+#include "webrtc/base/thread.h"
namespace webrtc {
-using talk_base::scoped_ptr;
+using rtc::scoped_ptr;
-talk_base::scoped_refptr<PortAllocatorFactoryInterface>
+rtc::scoped_refptr<PortAllocatorFactoryInterface>
PortAllocatorFactory::Create(
- talk_base::Thread* worker_thread) {
- talk_base::RefCountedObject<PortAllocatorFactory>* allocator =
- new talk_base::RefCountedObject<PortAllocatorFactory>(worker_thread);
+ rtc::Thread* worker_thread) {
+ rtc::RefCountedObject<PortAllocatorFactory>* allocator =
+ new rtc::RefCountedObject<PortAllocatorFactory>(worker_thread);
return allocator;
}
-PortAllocatorFactory::PortAllocatorFactory(talk_base::Thread* worker_thread)
- : network_manager_(new talk_base::BasicNetworkManager()),
- socket_factory_(new talk_base::BasicPacketSocketFactory(worker_thread)) {
+PortAllocatorFactory::PortAllocatorFactory(rtc::Thread* worker_thread)
+ : network_manager_(new rtc::BasicNetworkManager()),
+ socket_factory_(new rtc::BasicPacketSocketFactory(worker_thread)) {
}
PortAllocatorFactory::~PortAllocatorFactory() {}
cricket::PortAllocator* PortAllocatorFactory::CreatePortAllocator(
const std::vector<StunConfiguration>& stun,
const std::vector<TurnConfiguration>& turn) {
- std::vector<talk_base::SocketAddress> stun_hosts;
+ cricket::ServerAddresses stun_hosts;
typedef std::vector<StunConfiguration>::const_iterator StunIt;
for (StunIt stun_it = stun.begin(); stun_it != stun.end(); ++stun_it) {
- stun_hosts.push_back(stun_it->server);
+ stun_hosts.insert(stun_it->server);
}
- talk_base::SocketAddress stun_addr;
- if (!stun_hosts.empty()) {
- stun_addr = stun_hosts.front();
- }
scoped_ptr<cricket::BasicPortAllocator> allocator(
new cricket::BasicPortAllocator(
- network_manager_.get(), socket_factory_.get(), stun_addr));
+ network_manager_.get(), socket_factory_.get(), stun_hosts));
for (size_t i = 0; i < turn.size(); ++i) {
cricket::RelayCredentials credentials(turn[i].username, turn[i].password);
relay_server.ports.push_back(cricket::ProtocolAddress(
turn[i].server, protocol, turn[i].secure));
relay_server.credentials = credentials;
+ // First in the list gets highest priority.
+ relay_server.priority = static_cast<int>(turn.size() - i - 1);
allocator->AddRelay(relay_server);
} else {
LOG(LS_WARNING) << "Ignoring TURN server " << turn[i].server << ". "