* Add some flow from "origin", going via "via". * @param origin Origin of the flow. * @param via Next hop. * @param flow Amount of flow to be added. */
| 5212 | * @param flow Amount of flow to be added. |
| 5213 | */ |
| 5214 | void FlowStatMap::AddFlow(StationID origin, StationID via, uint flow) |
| 5215 | { |
| 5216 | FlowStatMap::iterator origin_it = this->find(origin); |
| 5217 | if (origin_it == this->end()) { |
| 5218 | this->emplace(origin, FlowStat(via, flow)); |
| 5219 | } else { |
| 5220 | origin_it->second.ChangeShare(via, flow); |
| 5221 | assert(!origin_it->second.GetShares()->empty()); |
| 5222 | } |
| 5223 | } |
| 5224 | |
| 5225 | /** |
| 5226 | * Pass on some flow, remembering it as invalid, for later subtraction from |