Reece
44108a322e
[+] TTYConsole::GetPaddingTopOfLog,GetPaddingHeadOfLog,GetPaddingTopOfLog [+ set variants] [+] IO::IOYield() [+] IO::IAsyncTransaction::Failed,GetOSErrorCode() [+] IByteBufferStreamPair [+] IIOBufferedInterceptor [+] IIOBufferedProcessor [+] IIOEventListener [+] IIOPipeEventListener [+] IIOProcessorEventListener [+] IIOProcessorManualInvoker [+] IIOWaitableIOLoopSource [+] IIOWaitableIOTimer [+] IIOWaitableItem [+] IIOWaitableTickLimiter [+] IOAdapterAsyncStream [+] IOAdapterByteBuffer [+] IOAdapterCompression [+] IOAdapterSeeking [*] Cleanup CpuInfo.Linux.cpp [*] Fixup async threadpool some more [*] LSTimer.NT.cpp updates timer object on tick state update, akin to Linux
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: IOProcessorItems.hpp
|
|
Date: 2022-6-6
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::IO
|
|
{
|
|
struct IOProcessor;
|
|
struct IOProcessorItem;
|
|
|
|
struct IOProcessorItems
|
|
{
|
|
AuList<AuSPtr<IOProcessorItem>> allItems;
|
|
AuList<AuSPtr<IOProcessorItem>> onTickReceivers;
|
|
AuList<AuSPtr<IOProcessorItem>> onOtherReceivers;
|
|
|
|
AuList<AuSPtr<IOProcessorItem>> registeredIO;
|
|
|
|
AuThreadPrimitives::CriticalSectionUnique_t mutex;
|
|
AuList<AuSPtr<IOProcessorItem>> workSignaled;
|
|
AuThreadPrimitives::CriticalSectionUnique_t mutex2;
|
|
AuList<AuSPtr<IOProcessorItem>> workSignaled2;
|
|
|
|
AuList<AuSPtr<IOProcessorItem>> finalizeQueue;
|
|
AuList<AuPair<AuSPtr<IOProcessorItem>, bool>> crossThreadAbort;
|
|
|
|
bool Init();
|
|
|
|
bool AddFrameTemp(const AuSPtr<IOProcessorItem> &item);
|
|
bool AddFrameOrFallback(const AuSPtr<IOProcessorItem> &item);
|
|
|
|
bool ScheduleFinish(const AuSPtr<IOProcessorItem> &item, bool unsafe);
|
|
|
|
AuList<AuSPtr<IOProcessorItem>> GetBlockedSignals();
|
|
};
|
|
} |