diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-03 01:30:01 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-03 01:30:01 +0900 |
| commit | 0d85fb0df319b2ede3fde4a7a66634c1208ffad3 (patch) | |
| tree | dc22c84b9c276b2e492b0394c8ab5ee9476f08de /src | |
| parent | 74d6d6427119591a9a81f64777d90691a221f690 (diff) | |
Use std::unique_ptr for AsyncResolverMan
Diffstat (limited to 'src')
| -rw-r--r-- | src/AbstractCommand.cc | 2 | ||||
| -rw-r--r-- | src/AbstractCommand.h | 2 | ||||
| -rw-r--r-- | src/AsyncNameResolverMan.cc | 15 | ||||
| -rw-r--r-- | src/DHTEntryPointNameResolveCommand.h | 2 | ||||
| -rw-r--r-- | src/NameResolveCommand.cc | 2 | ||||
| -rw-r--r-- | src/NameResolveCommand.h | 2 |
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 |
