| 253 | } |
| 254 | |
| 255 | void CreditSystem::addBulkReferences( |
| 256 | const std::vector<int32_t>& references, |
| 257 | const std::vector<uint32_t>& generations) noexcept { |
| 258 | for (size_t i = 0; i < references.size(); ++i) { |
| 259 | CreditRecord& record = this->_credits[i]; |
| 260 | if (record.generation != generations[i]) { |
| 261 | // The generations do not match, so these references are to a credit |
| 262 | // created by a CreditSource that has since been destroyed. Ignore them. |
| 263 | continue; |
| 264 | } |
| 265 | |
| 266 | int32_t referencesToAdd = references[i]; |
| 267 | |
| 268 | record.referenceCount += referencesToAdd; |
| 269 | } |
| 270 | } |
| 271 | |
| 272 | void CreditSystem::releaseBulkReferences( |
| 273 | const std::vector<int32_t>& references, |
no test coverage detected