AuroraRuntime/Source/IO/CompletionGroup/CompletionGroupAndedIOWorkItem.cpp
Jamie Reece Wilson 1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00

33 lines
1.0 KiB
C++

/***
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: CompletionGroupAndedIOWorkItem.cpp
Date: 2023-12-28
Author: Reece
***/
#include <Source/RuntimeInternal.hpp>
#include <Aurora/IO/IOExperimental.hpp>
#include "CompletionGroup.hpp"
#include "CompletionGroupAndedIOWorkItem.hpp"
namespace Aurora::IO::CompletionGroup
{
CompletionGroupAndedIOWorkItem::CompletionGroupAndedIOWorkItem(AuAsync::IThreadPoolInternal *owner,
const AuWorkerID &worker,
AuSPtr<CompletionGroup> 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;
}
}
}