sead::WorkerMgr class

Base classes

class Node

Public types

struct InitializeArg
enum class NodeClassType { Reflexible = 0, Node = 1, Other = 2 }
enum class AllocFlg { Name = 1u << 0u, Meta = 1u << 1u }

Constructors, destructors, conversion operators

WorkerMgr()
~WorkerMgr() defaulted virtual
WorkerMgr(const WorkerMgr&) deleted

Public functions

auto operator=(const WorkerMgr&) -> auto deleted
void initialize(const InitializeArg& arg) virtual
void finalize()
void pushJobQueue(JobQueue* queue, CoreIdMask core_id_mask, SyncType sync_type, JobQueuePushType push_type)
void pushJobQueue(const char* context_name, JobQueue* queue, CoreIdMask core_id_mask, SyncType sync_type, JobQueuePushType push_type)
void run()
void sync()
auto isAllWorkerSleep() const -> bool
auto getNodeClassType() const -> NodeClassType override

Protected functions

void onInfLoop_(const InfLoopChecker::InfLoopParam& param)

Protected variables

InfLoopChecker::InfLoopEvent::Slot mInfLoopEventSlot
Buffer<Worker*> mWorkers
Buffer<JobQueue*> mJobQueues
u32 mNumJobQueues
bool mProcessJobQueues
u32 mNumWakeups
TickTime mLastWakeup
TickSpan mWaitDuration

Enum documentation

enum class sead::WorkerMgr::NodeClassType

Enumerators
Reflexible

sead::hostio::Reflexible

Node

sead::hostio::Node

Other

Other classes.

enum class sead::WorkerMgr::AllocFlg

Function documentation

NodeClassType sead::WorkerMgr::getNodeClassType() const override