MCPcopy Create free account
hub / github.com/IppClub/Dora-SSR / setScheduler

Method setScheduler

Source/Node/Node.cpp:357–375  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355}
356
357void Node::setScheduler(Scheduler* var) {
358 AssertUnless(var, "set invalid scheduler(nullptr) to node.");
359 auto oldScheduler = _scheduler.get();
360 if (_flags.isOn(Node::Updating)) {
361 if (_updateItem && _updateItem->scheduled()) {
362 oldScheduler->unschedule(_updateItem->scheduledItem.get());
363 }
364 var->schedule(getUpdateItem()->scheduledItem.get());
365 }
366 if (_flags.isOn(Node::FixedUpdating)) {
367 if (_updateItem && _updateItem->fixedScheduled()) {
368 oldScheduler->unscheduleFixed(_updateItem->fixedScheduledItem.get());
369 }
370 var->scheduleFixed(getFixedScheduledItem());
371 }
372 pauseActionInList(_action);
373 _scheduler = var;
374 resumeActionInList(_action);
375}
376
377Scheduler* Node::getScheduler() const noexcept {
378 return _scheduler;

Callers 1

node_set_schedulerFunction · 0.45

Calls 8

isOnMethod · 0.80
scheduledMethod · 0.80
fixedScheduledMethod · 0.80
unscheduleFixedMethod · 0.80
scheduleFixedMethod · 0.80
getMethod · 0.65
unscheduleMethod · 0.45
scheduleMethod · 0.45

Tested by

no test coverage detected