/*** Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: CompletionGroupAndedIOWorkItem.cpp Date: 2023-12-28 Author: Reece ***/ #include #include #include "CompletionGroup.hpp" #include "CompletionGroupAndedIOWorkItem.hpp" namespace Aurora::IO::CompletionGroup { CompletionGroupAndedIOWorkItem::CompletionGroupAndedIOWorkItem(AuAsync::IThreadPoolInternal *owner, const AuWorkerID &worker, AuSPtr pParent) : AuAsync::WorkItem(owner, worker, nullptr), pParent(pParent) { } void CompletionGroupAndedIOWorkItem::DispatchTask(AuAsync::IWorkItemHandler::ProcessInfo &info) { this->pParent->DoIOTick(false); if (this->pParent->HasItemsActive()) { info = AuAsync::ETickType::eSchedule; } } }