From 6fd844dae8a8b97717a9c98c0ffe35fad15a7e17 Mon Sep 17 00:00:00 2001 From: Reece Date: Fri, 25 Mar 2022 18:08:26 +0000 Subject: [PATCH] [*] Formatting [*] Revert-revert formatting --- Include/auROXTL/auTupleUtils.hpp | 12 ++++++------ Include/auROXTL/auUnitUtils.hpp | 5 ++--- README.md | 17 +++++++++-------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Include/auROXTL/auTupleUtils.hpp b/Include/auROXTL/auTupleUtils.hpp index 23e06629..2d60af0c 100644 --- a/Include/auROXTL/auTupleUtils.hpp +++ b/Include/auROXTL/auTupleUtils.hpp @@ -13,27 +13,27 @@ #include "auIntegerSequence.hpp" #if !defined(AURORA_RUNTIME_MAKE_PAIR) -#define AURORA_RUNTIME_MAKE_PAIR std::make_pair + #define AURORA_RUNTIME_MAKE_PAIR std::make_pair #endif #if !defined(AURORA_RUNTIME_MAKE_TUPLE) -#define AURORA_RUNTIME_MAKE_TUPLE std::make_tuple + #define AURORA_RUNTIME_MAKE_TUPLE std::make_tuple #endif #if !defined(AURORA_RUNTIME_GET_TUPLE) -#define AURORA_RUNTIME_GET_TUPLE std::get +# define AURORA_RUNTIME_GET_TUPLE std::get #endif #if !defined(AURORA_RUNTIME_TUPLE_CAT) -#define AURORA_RUNTIME_TUPLE_CAT std::tuple_cat + #define AURORA_RUNTIME_TUPLE_CAT std::tuple_cat #endif #if !defined(AURORA_RUNTIME_TUPLE_SIZE) -#define AURORA_RUNTIME_TUPLE_SIZE std::tuple_size + #define AURORA_RUNTIME_TUPLE_SIZE std::tuple_size #endif #if !defined(AURORA_RUNTIME_APPLY) -#define AURORA_RUNTIME_APPLY std::apply + #define AURORA_RUNTIME_APPLY std::apply #endif template diff --git a/Include/auROXTL/auUnitUtils.hpp b/Include/auROXTL/auUnitUtils.hpp index 7f415677..45bb73a8 100644 --- a/Include/auROXTL/auUnitUtils.hpp +++ b/Include/auROXTL/auUnitUtils.hpp @@ -9,9 +9,8 @@ /** It is not unusual for one to desire a unit-conversion constant when the developer understands - [*] FPU isn't available - [*] Can be done quickly without a framework - [*] Using a framework to normalize to a base unit, apply a translation, and return the desired reuslt is considered overkill + [*] An FPU isn't available + [*] Using a framework to normalize to a base unit(?), apply a translation, and return the desired reuslt is considered overkill These functions are not to be converted into such a convoluted templated potentially-constexpr castable mess The intention is to keep these utility functions as simple as the dumb operations they implement */ diff --git a/README.md b/README.md index a518863c..4daecfc7 100644 --- a/README.md +++ b/README.md @@ -196,14 +196,15 @@ POSIX: ## Loop -The Aurora Runtime implements a loop concept similar to macos's RunLoop or BSD's kevent. On Mach platforms, kevent objects can -be passed to loop sources. On BSD platforms, kevent objects can be used to synchronize against a wait any condition. On Linux, -io_submit with epoll semantics can be used instead. NT, surpisingly where WaitForMultipleObjects is common, has the worst -abstraction. Either way, all modern platforms provide a way to join file handles, an object from which you can derive any othe -thread primitive from, semaphores, mutexes, network sockets, and asynchronous file transactions together. Aurora Runtime is -implementing a loop source object and wait for any utility to solve this fiddly and complex abstraction. This should allow for -non-bruteforced low thread count work groups to work on queues of ipcable objects across platforms with low synchronization -overhead. +The Aurora Runtime implements a kernel-scheduler optimized IO subsystem for managing Window, Network, File, IPC, and thread +synchronization objects through loop the loop subsystem. + +Loop sources are an interface defined by the loop subsystem for objects with a signalable state. Attached to a LoopQueue, the +LoopQueue will provide a Wait-on related functions and subscription notifications of signal state change - allowing for optimized +loop source removal or reinsert hints from the return values of the subscription interface. In addition, the ILoopSource interface +permits arbitrary is-signaled-and-latch (TryLock) queries. + + ## Thread Primitives