/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Async.cpp Date: 2021-6-26 Author: Reece ***/ #include #include "Async.hpp" #include "AuSchedular.hpp" #include "AsyncApp.hpp" namespace Aurora::Async { void InitAsync() { InitSched(); InitApp(); } void ShutdownAsync() { DeinitSched(); ReleaseApp(); } AuSPtr GetSelfIOProcessor() { auto pid = GetCurrentWorkerPId(); if (pid) { return pid.GetPool()->GetIOProcessor(pid); } else { return {}; } } AuSPtr GetSelfIONetInterface() { auto pid = GetCurrentWorkerPId(); if (pid) { return pid.GetPool()->GetIONetInterface(pid); } else { return {}; } } AuSPtr GetSelfIONetWorker() { auto pid = GetCurrentWorkerPId(); if (pid) { return pid.GetPool()->GetIONetWorker(pid); } else { return {}; } } AuSPtr GetSelfIOGroup() { auto pid = GetCurrentWorkerPId(); if (pid) { return pid.GetPool()->GetIOGroup(pid); } else { return {}; } } }