2023-11-11 10:11:09 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: AuThreadStateSingletons.hpp
|
|
|
|
Date: 2023-11-04
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
2023-12-01 09:22:51 +00:00
|
|
|
#include <Aurora/IO/Net/NetExperimental.hpp>
|
|
|
|
|
2023-11-11 10:11:09 +00:00
|
|
|
namespace Aurora::Async
|
|
|
|
{
|
2023-12-01 09:22:51 +00:00
|
|
|
struct ThreadStateSingletons
|
|
|
|
{
|
|
|
|
AuCriticalSection mutex;
|
|
|
|
|
|
|
|
AuSPtr<AuIO::IIOProcessor> pIOProcessors;
|
|
|
|
|
|
|
|
AuSPtr<AuIO::IIOProcessor> pIOProcessor;
|
|
|
|
AuSPtr<AuIO::Net::INetInterface> pNetInterface;
|
|
|
|
AuSPtr<AuIO::Net::INetWorker> pNetWorker;
|
2024-07-12 16:22:07 +00:00
|
|
|
AuSPtr<AuIO::CompletionGroup::ICompletionGroup> pGroup;
|
2023-11-11 10:11:09 +00:00
|
|
|
|
2024-07-12 19:40:05 +00:00
|
|
|
AuSPtr<AuIO::CompletionGroup::ICompletionGroup> GetIOGroup(AuWorkerPId_t pid);
|
2023-12-01 09:22:51 +00:00
|
|
|
AuSPtr<AuIO::IIOProcessor> GetIOProcessor(AuWorkerPId_t pid);
|
|
|
|
AuSPtr<AuIO::Net::INetInterface> GetIONetInterface(AuWorkerPId_t pid);
|
|
|
|
AuSPtr<AuIO::Net::INetWorker> GetIONetWorker(AuWorkerPId_t pid);
|
|
|
|
void TryInitNet(AuWorkerPId_t pid);
|
|
|
|
};
|
2023-11-11 10:11:09 +00:00
|
|
|
}
|