(svn r25915) -Fix: Unrestricted flow was counted incorrectly when invalidating flow.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
fonsinchen 11 years ago
parent 3ce2c4a5a3
commit 8926398f89

@ -4160,14 +4160,12 @@ void FlowStat::Invalidate()
assert(!this->shares.empty());
SharesMap new_shares;
uint i = 0;
uint orig = 0;
for (SharesMap::iterator it(this->shares.begin()); it != this->shares.end(); ++it) {
new_shares[++i] = it->second;
orig += it->first;
if (orig == this->unrestricted) this->unrestricted = orig;
if (it->first == this->unrestricted) this->unrestricted = i;
}
this->shares.swap(new_shares);
assert(!this->shares.empty());
assert(!this->shares.empty() && this->unrestricted <= (--this->shares.end())->first);
}
/**

Loading…
Cancel
Save