summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 01:30:01 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 01:30:01 +0900
commit0d85fb0df319b2ede3fde4a7a66634c1208ffad3 (patch)
treedc22c84b9c276b2e492b0394c8ab5ee9476f08de /src
parent74d6d6427119591a9a81f64777d90691a221f690 (diff)
Use std::unique_ptr for AsyncResolverMan
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCommand.cc2
-rw-r--r--src/AbstractCommand.h2
-rw-r--r--src/AsyncNameResolverMan.cc15
-rw-r--r--src/DHTEntryPointNameResolveCommand.h2
-rw-r--r--src/NameResolveCommand.cc2
-rw-r--r--src/NameResolveCommand.h2
6 files changed, 12 insertions, 13 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index e3f0a2f5..6aa149de 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -91,7 +91,7 @@ AbstractCommand::AbstractCommand
req_(req), fileEntry_(fileEntry), e_(e), socket_(s),
socketRecvBuffer_(socketRecvBuffer),
#ifdef ENABLE_ASYNC_DNS
- asyncNameResolverMan_(new AsyncNameResolverMan()),
+ asyncNameResolverMan_(make_unique<AsyncNameResolverMan>()),
#endif // ENABLE_ASYNC_DNS
checkSocketIsReadable_(false), checkSocketIsWritable_(false),
incNumConnection_(incNumConnection),
diff --git a/src/AbstractCommand.h b/src/AbstractCommand.h
index 2a34502f..51e38edd 100644
--- a/src/AbstractCommand.h
+++ b/src/AbstractCommand.h
@@ -76,7 +76,7 @@ private:
std::vector<std::shared_ptr<Segment> > segments_;
#ifdef ENABLE_ASYNC_DNS
- std::shared_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
+ std::unique_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
#endif // ENABLE_ASYNC_DNS
bool checkSocketIsReadable_;
diff --git a/src/AsyncNameResolverMan.cc b/src/AsyncNameResolverMan.cc
index c6ad8da6..9e98bda7 100644
--- a/src/AsyncNameResolverMan.cc
+++ b/src/AsyncNameResolverMan.cc
@@ -94,13 +94,13 @@ void AsyncNameResolverMan::startAsyncFamily(const std::string& hostname,
DownloadEngine* e,
Command* command)
{
- asyncNameResolver_[numResolver_].reset
- (new AsyncNameResolver(family
+ asyncNameResolver_[numResolver_] = std::make_shared<AsyncNameResolver>
+ (family
#ifdef HAVE_ARES_ADDR_NODE
- ,
- e->getAsyncDNSServers()
+ ,
+ e->getAsyncDNSServers()
#endif // HAVE_ARES_ADDR_NODE
- ));
+ );
asyncNameResolver_[numResolver_]->resolve(hostname);
setNameResolverCheck(numResolver_, e, command);
}
@@ -111,9 +111,8 @@ const
for(size_t i = 0; i < numResolver_; ++i) {
if(asyncNameResolver_[i]->getStatus() ==
AsyncNameResolver::STATUS_SUCCESS) {
- const std::vector<std::string>& addrs =
- asyncNameResolver_[i]->getResolvedAddresses();
- res.insert(res.end(), addrs.begin(), addrs.end());
+ auto& addrs = asyncNameResolver_[i]->getResolvedAddresses();
+ res.insert(std::end(res), std::begin(addrs), std::end(addrs));
}
}
return;
diff --git a/src/DHTEntryPointNameResolveCommand.h b/src/DHTEntryPointNameResolveCommand.h
index e9a09350..8ca60a1b 100644
--- a/src/DHTEntryPointNameResolveCommand.h
+++ b/src/DHTEntryPointNameResolveCommand.h
@@ -59,7 +59,7 @@ private:
DownloadEngine* e_;
#ifdef ENABLE_ASYNC_DNS
- std::shared_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
+ std::unique_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
#endif // ENABLE_ASYNC_DNS
DHTTaskQueue* taskQueue_;
diff --git a/src/NameResolveCommand.cc b/src/NameResolveCommand.cc
index 8cfff500..53232969 100644
--- a/src/NameResolveCommand.cc
+++ b/src/NameResolveCommand.cc
@@ -58,7 +58,7 @@ NameResolveCommand::NameResolveCommand
: Command(cuid),
e_(e),
#ifdef ENABLE_ASYNC_DNS
- asyncNameResolverMan_(new AsyncNameResolverMan()),
+ asyncNameResolverMan_(make_unique<AsyncNameResolverMan>()),
#endif // ENABLE_ASYNC_DNS
req_(req)
{
diff --git a/src/NameResolveCommand.h b/src/NameResolveCommand.h
index bf2e9464..66e1ae82 100644
--- a/src/NameResolveCommand.h
+++ b/src/NameResolveCommand.h
@@ -55,7 +55,7 @@ private:
DownloadEngine* e_;
#ifdef ENABLE_ASYNC_DNS
- std::shared_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
+ std::unique_ptr<AsyncNameResolverMan> asyncNameResolverMan_;
#endif // ENABLE_ASYNC_DNS
#ifdef ENABLE_ASYNC_DNS