| Index: net/dns/dns_socket_pool.cc
|
| diff --git a/net/dns/dns_socket_pool.cc b/net/dns/dns_socket_pool.cc
|
| index 0ad53ff022bd69503868a9981a30338605eb9d29..6eed753a20dd6fed0f986df64f3b31c35966ac59 100644
|
| --- a/net/dns/dns_socket_pool.cc
|
| +++ b/net/dns/dns_socket_pool.cc
|
| @@ -6,8 +6,8 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/rand_util.h"
|
| -#include "base/stl_util.h"
|
| #include "net/base/address_list.h"
|
| #include "net/base/ip_endpoint.h"
|
| #include "net/base/net_errors.h"
|
| @@ -146,7 +146,7 @@ class DefaultDnsSocketPool : public DnsSocketPool {
|
| private:
|
| void FillPool(unsigned server_index, unsigned size);
|
|
|
| - typedef std::vector<DatagramClientSocket*> SocketVector;
|
| + typedef std::vector<std::unique_ptr<DatagramClientSocket>> SocketVector;
|
|
|
| std::vector<SocketVector> pools_;
|
|
|
| @@ -174,11 +174,6 @@ void DefaultDnsSocketPool::Initialize(
|
| }
|
|
|
| DefaultDnsSocketPool::~DefaultDnsSocketPool() {
|
| - unsigned num_servers = pools_.size();
|
| - for (unsigned server_index = 0; server_index < num_servers; ++server_index) {
|
| - SocketVector& pool = pools_[server_index];
|
| - base::STLDeleteElements(&pool);
|
| - }
|
| }
|
|
|
| std::unique_ptr<DatagramClientSocket> DefaultDnsSocketPool::AllocateSocket(
|
| @@ -199,11 +194,11 @@ std::unique_ptr<DatagramClientSocket> DefaultDnsSocketPool::AllocateSocket(
|
| }
|
|
|
| unsigned socket_index = GetRandomInt(0, pool.size() - 1);
|
| - DatagramClientSocket* socket = pool[socket_index];
|
| - pool[socket_index] = pool.back();
|
| + std::unique_ptr<DatagramClientSocket> socket = std::move(pool[socket_index]);
|
| + pool[socket_index] = std::move(pool.back());
|
| pool.pop_back();
|
|
|
| - return std::unique_ptr<DatagramClientSocket>(socket);
|
| + return socket;
|
| }
|
|
|
| void DefaultDnsSocketPool::FreeSocket(
|
| @@ -216,11 +211,11 @@ void DefaultDnsSocketPool::FillPool(unsigned server_index, unsigned size) {
|
| SocketVector& pool = pools_[server_index];
|
|
|
| for (unsigned pool_index = pool.size(); pool_index < size; ++pool_index) {
|
| - DatagramClientSocket* socket =
|
| - CreateConnectedSocket(server_index).release();
|
| + std::unique_ptr<DatagramClientSocket> socket =
|
| + CreateConnectedSocket(server_index);
|
| if (!socket)
|
| break;
|
| - pool.push_back(socket);
|
| + pool.push_back(std::move(socket));
|
| }
|
| }
|
|
|
|
|