| 383 | } |
| 384 | |
| 385 | void ModuleGraph::PropagateActiveWorker() { |
| 386 | for (auto &pair : all_modules_) { |
| 387 | Module *m = pair.second; |
| 388 | m->ResetActiveWorkerSet(); |
| 389 | } |
| 390 | for (int i = 0; i < Worker::kMaxWorkers; i++) { |
| 391 | if (workers[i] == nullptr) { |
| 392 | continue; |
| 393 | } |
| 394 | if (bess::TrafficClass *root = workers[i]->scheduler()->root()) { |
| 395 | for (const auto &tc_pair : bess::TrafficClassBuilder::all_tcs()) { |
| 396 | bess::TrafficClass *c = tc_pair.second; |
| 397 | if (c->policy() == bess::POLICY_LEAF && c->Root() == root) { |
| 398 | auto leaf = static_cast<bess::LeafTrafficClass *>(c); |
| 399 | leaf->task()->AddActiveWorker(i); |
| 400 | } |
| 401 | } |
| 402 | } |
| 403 | } |
| 404 | } |
nothing calls this directly
no test coverage detected