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