mirror of https://github.com/aria2/aria2
2010-06-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed assertion error if updateTransferStatFor is called with peer X before calculateStat() after peer X is added. * src/DefaultPeerStorage.ccpull/1/head
parent
3dfbec0f9f
commit
98dc02192d
|
@ -1,3 +1,9 @@
|
|||
2010-06-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Fixed assertion error if updateTransferStatFor is called with peer
|
||||
X before calculateStat() after peer X is added.
|
||||
* src/DefaultPeerStorage.cc
|
||||
|
||||
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Rewritten DHTMessageCallback using Visitor pattern. Eliminated
|
||||
|
|
|
@ -249,7 +249,9 @@ void DefaultPeerStorage::updateTransferStatFor(const SharedHandle<Peer>& peer)
|
|||
}
|
||||
std::map<std::string, TransferStat>::iterator itr =
|
||||
_peerTransferStatMap.find(peer->getID());
|
||||
assert(itr != _peerTransferStatMap.end());
|
||||
if(itr == _peerTransferStatMap.end()) {
|
||||
return;
|
||||
}
|
||||
_cachedTransferStat -= (*itr).second;
|
||||
TransferStat s = calculateStatFor(peer);
|
||||
_cachedTransferStat += s;
|
||||
|
@ -259,7 +261,13 @@ void DefaultPeerStorage::updateTransferStatFor(const SharedHandle<Peer>& peer)
|
|||
TransferStat DefaultPeerStorage::getTransferStatFor
|
||||
(const SharedHandle<Peer>& peer)
|
||||
{
|
||||
return _peerTransferStatMap[peer->getID()];
|
||||
std::map<std::string, TransferStat>::const_iterator itr =
|
||||
_peerTransferStatMap.find(peer->getID());
|
||||
if(itr == _peerTransferStatMap.end()) {
|
||||
return TransferStat();
|
||||
} else {
|
||||
return (*itr).second;
|
||||
}
|
||||
}
|
||||
|
||||
void DefaultPeerStorage::deleteUnusedPeer(size_t delSize) {
|
||||
|
|
Loading…
Reference in New Issue