diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-28 16:04:52 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-28 16:04:52 +0000 |
| commit | 72e475dfdeaa4a87dff0eef994e7814e94c40363 (patch) | |
| tree | 94a84e90c14876db223e4a733f651fe0b034f5e9 /src/UTPexExtensionMessage.cc | |
| parent | c342bde9627b434effbc0cd10b817670d1da0923 (diff) | |
2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid to calculate end() iterator in each loop. std::deque is
particularly slow. Make sure that recalculate end iterator if
element is erased during loop.
Diffstat (limited to 'src/UTPexExtensionMessage.cc')
| -rw-r--r-- | src/UTPexExtensionMessage.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/UTPexExtensionMessage.cc b/src/UTPexExtensionMessage.cc index 2e54852f..e2ba37e6 100644 --- a/src/UTPexExtensionMessage.cc +++ b/src/UTPexExtensionMessage.cc @@ -76,8 +76,8 @@ UTPexExtensionMessage::createCompactPeerListAndFlag { std::string addrstring; std::string flagstring; - for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin(); - itr != peers.end(); ++itr) { + for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin(), + eoi = peers.end(); itr != eoi; ++itr) { unsigned char compact[6]; if(bittorrent::createcompact(compact, (*itr)->ipaddr, (*itr)->port)) { addrstring.append(&compact[0], &compact[6]); |
