sead::JobQueue class

Base classes

class Node
class INamable

Derived classes

class FixedSizeJQ

Public types

enum class Status: int { _0 = 0, _1 = 1, _3 = 3, _5 = 5, _6 = 6 }
enum class NodeClassType { Reflexible = 0, Node = 1, Other = 2 }
enum class AllocFlg { Name = 1u << 0u, Meta = 1u << 1u }

Constructors, destructors, conversion operators

JobQueue()

Public functions

void begin() virtual
auto run(u32 size, u32* finished_jobs, Worker* worker) -> bool virtual
void runAll(u32* finished_jobs)
auto getNumJobs() const -> u32 virtual
auto isAllParticipantThrough() const -> bool
auto getGranularity(u32 core) -> u32
void setGranularity(CoreId core, u32 x)
void setGranularity(u32)
void setCoreMaskAndWaitType(CoreIdMask mask, SyncType type)
void FINISH(CoreId core)
void wait_AT_WORKER()
void wait()
auto getDescription() const -> const char*
void setDescription(const char* description)
void signalFinishEvent()
void resetFinishEvent()
auto addNumDoneJobs(u32 num) -> u32
auto getNodeClassType() const -> NodeClassType override
auto getName() const -> const SafeString&
void setName(const SafeString& name)

Protected functions

auto isDone_() -> bool virtual

Protected variables

SyncType mSyncType
JobQueueLock mLock
CoreIdMask mMask
Event mFinishEvent
SafeArray<u32, 3> mGranularity
SafeArray<u32, 3> mCoreEnabled
Atomic<u32> mNumDoneJobs
Atomic<Status> mStatus
const char* mDescription

Enum documentation

enum class sead::JobQueue::NodeClassType

Enumerators
Reflexible

sead::hostio::Reflexible

Node

sead::hostio::Node

Other

Other classes.

enum class sead::JobQueue::AllocFlg

Function documentation

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

const SafeString& sead::JobQueue::getName() const

void sead::JobQueue::setName(const SafeString& name)