/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: GroupState.hpp Date: 2021-11-1 Author: Reece ***/ #pragma once #include "ThreadState.hpp" namespace Aurora::Async { struct GroupState { ThreadGroup_t group; AuThreadPrimitives::ConditionMutexUnique_t cvWorkMutex; AuThreadPrimitives::ConditionVariableUnique_t cvVariable; AuSPtr eventLs; AuSPtr asyncLoopSourceShared; AuList workQueue; bool sorted {}; AuUInt32 dirty {}; AuBST> workers; bool Init(); bool inline IsSysThread() { return group == 0; } }; }