Commit Graph

51 Commits

Author SHA1 Message Date
8005b67d82 [*] :/ 2023-12-08 13:03:14 +00:00
8944d8bd16 [+] IAsyncTimer
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
f6437ef66e [-] Engine 0.0/1.0 async 2023-09-22 06:07:03 +01:00
f1e9aa1d22 [+] AuAsync::DispatchOn 2023-09-15 16:49:48 +01:00
addd4080b2 [*] Adjust PId_t::pool null behaviour 2023-09-15 16:48:55 +01:00
0f12603390 [+] AuAsync::NewWorkFunction
[+] AuAsync::IThreadPool::NewWorkFunction
[+] AU_DEBUG_MEMCRUNCH
2023-08-10 03:36:19 +01:00
1341f805b0 [*] Lite clean up/Refactor 2022-08-20 07:53:48 +01:00
fd0c5b51b2 Further Linux support
[+] Begin work on IO futexes for io release on process/thread exit
[+] Linux ::readdir iteration
[+] AuConsole buffering API
[*] Fix sleep as to not get interrupted by signals
[*] Switch the type of FS lock used under Linux
[*] Linux: Use new IPCHandle encoding scheme
[*] Fix undefined behaviour: unintialized timeout values (AuLoop/Linux)
[*] Fix undefined behaviour: ConsoleTTY clear line was called of a color of a random value on stack
[-] Remainings of std dir iterator
[*] Fix pthread_kill (aka send signal to pthread handle) always kills process. This is what you expect bc signal handler inheritance.
[*] Reformat the build Aurora.json file
[+] Added clang warning ignores to the build file
[*] Fix: UNIX need to use STDOUT_FILENO. Was using CRT handle in place of fd by mistake.
[+] Linux implementation for IO yield (AuIO::IOYield() - UNIX::LinuxOverlappedYield())
[*] Fix: Linux async end of stream processing. res 0 = zero bytes consumed. <= was detecting this as an error of code 0. Should succeed with zero bytes.
[+] Linux LoopQueue missing epilogue hook for the IO processor
[*] Various refactors and minor bug fixes
[*] Linux fix: Handle pipe EOS as zero
[*] Linux fix: thread termination via a user signal of 77. Need a force terminate.
[*] IPC handle: fix improper int to bool cast in the header setup within ToString
[*] Linux fix: HWInfo CPU topology regression
[-] Linux fix: remove SIGABRT handler
[*] Missing override in compression, exit, and consoletty headers.
[+] Unix Syslog logger backend
2022-08-02 05:52:57 +01:00
8fcebb91a3 [+] AuAsync IPC promises - New Early Impl
> Added AuNullPromise
> Added AuPromise<Out_t>
> Added AuInOutPromise<In_t, Out_t>
2022-07-19 16:29:20 +01:00
1c7267b9d8 [*] Update how AuAsync handles SysPump - we should really deprecate it. 2022-05-09 19:27:36 +01:00
3507d9bb33 [+] GetSharedAsyncApp 2022-03-23 16:33:02 +00:00
b29f8ebf21 [*] Major fix -> vec wrapper w/o glm accessors were broken
[*] Preemptive linux/clang API fixes
[*] Fix clang equiv MSVC template bug (they're nice enough to throw an error instead of crashing)
2022-03-20 09:56:15 +00:00
c965d8384f [+] AuStaticPointerCast
[*] More refactoring
2022-01-19 18:53:22 +00:00
6b9bddeeaf nuke more of the stl 2022-01-19 18:18:13 +00:00
d26471b173 so long gay bowser 2022-01-19 17:53:33 +00:00
7759d38ed0 [*] Exterminate more std:: references 2022-01-19 17:08:13 +00:00
21f8b69a57 [*] Thread Group apis should be templates as well. This was refactor for async app not so long ago 2021-11-07 22:32:33 +00:00
99c5e1fa65 A pretty large patch not worth breaking up into separate commits
[*] Split up Aurora Async
[*] Split Async app into seperate ThreadPool concept
[*] Fix various OSThread bugs and tls transfer issues
[*] Set default affinity to 0xFFFFFFFF
[*] Update Build script
[+] Add AuTuplePopFront
[+] New Network Interface (unimplemented)
[*] Stub out the interfaces required for a better logger
[*] Fix Win32 ShellExecute bug; windows 11 struggles without explicit com init per the docs - now deferring to thread pool
[*] Update gitignore
[*] Follow XDG home standard
[*] Refactor some namespaces to use the shorthand aliases
[*] Various stability fixes
2021-11-05 17:34:23 +00:00
4109852d06 [*] Minor header clean up 2021-10-25 19:43:33 +01:00
3d859a319e [*] More async api change
[*] Improve win32 exception watcher
[*] Fix early pin reset. Possible use after write still, unsure if self reference is legal
2021-10-23 12:36:14 +01:00
bed16f376a 9 hours, many overly andineered solutions later, this API design isn't possible due to MSVC being too much of a buggy shit fest. 1 issue in the spec, at least 1 internal msvc error, at least 2 internal internal bugs, and more cancer needs to be reported. 2021-10-22 10:10:56 +01:00
0ffb19066d [-] Clean up ugly returns in async.hpp 2021-10-19 05:26:15 +01:00
d2732b6d43 [*] Typo 2021-10-18 14:02:00 +01:00
97e1171049 [*] Do not call onSuccess after catching an exception during onFrame 2021-10-18 13:55:58 +01:00
bd5222cbfb [*] Improve Aurora::Async API 2021-10-18 13:53:47 +01:00
5e0cc1ccfa [-] Comment out noted problematic code. A fix must be implemented soon
[*] Harden Async.hpp utilities against various conditions one might expect in the wild
[+] Added SetWorkerIdIsThreadRunner
[*] Fix a bug where a cv signal and broadcast was inverted
2021-10-16 00:02:27 +01:00
f559897b42 [+] Added WorkerId_t structure
[-] Removed WorkerId_t typedef
[*] Added shared support to some older threading apis that have yet to be updated
2021-10-08 20:51:34 +01:00
f968d6a75f Merge remote-tracking branch 'origin/master' 2021-10-06 14:48:38 +01:00
c9e1dc30e0 [+] Added AU_STRIP and AU_EMIT macros
[+] Added AuroraForEach
[+] Added AuroraInterfaces
[+] Added Async::NewFence
[*] Readded task null check under Async::NewWorkItem such that task = AuMakeShared() errors are passed through to the caller by a failure empty shared response
2021-10-06 14:48:28 +01:00
499f553e15 [*] Refactor AddLoopSource 2021-10-03 13:43:58 +01:00
97d6c96712 [*] Succesfully built on Linux for the first time in a very long time 2021-10-02 17:07:33 +01:00
540c5826d8 [*] ...linux 2021-10-02 15:05:35 +01:00
86e556a9bb [*] Amend public headers for linux builds 2021-10-02 15:00:52 +01:00
ea83fcef20 [...] cont 2021-10-01 17:32:50 +01:00
9436b12455 [+] Begin work on a possible future API for interoperability between loop sources and event driven async apps 2021-10-01 17:27:15 +01:00
3fb8e2bf8c Remove ID 0 restriction from Aurora async, breaking the API 2021-09-30 10:19:04 +01:00
2c5a492f08 [*] Added a few notes in the Async.hpp header
[+] Ensure dead locks can not occur
2021-09-29 15:31:40 +01:00
dd1bf1b8b8 [*] DispatchBasicWorkCallback should passthrough enableBlocking toi the work item 2021-09-29 14:41:35 +01:00
1a18847363 [*] Added idioms required by the Aurora engine 2021-09-29 13:36:25 +01:00
dca4ca195b [+] Added async task (this should be job) private
[+] Added ToWorkResultT for apps using BasicWorkCtx
2021-09-29 11:47:54 +01:00
1360e5627d [*] Update async header 2021-09-29 09:02:27 +01:00
ffe4bc31fc Major patch [1/2] 2021-09-06 11:58:08 +01:00
72a74eb7a4 [*] Fixed bug where schedular was using a read lock in a scope where items were erased from a vector
[*] Refactor a 'Object' member field in a ParseObject struct
[+] Added an option to set a command dispatcher thread from an AsyncApp
[*] Fix various issues with AsyncApp, stablity improvements
[+] Added AddDelayTime
2021-07-15 17:16:23 +01:00
28a840f71d [+] Added async semantic ->Then(...) 2021-07-12 15:37:05 +01:00
df301a4101 Improve workitem api
[+] New waitfor by work dispatcher type
2021-07-07 21:32:59 +01:00
1f8d06cbf0 [*] Expose AsyncApp::Poll 2021-07-05 14:35:13 +01:00
c8c3908085 [+] Now with a scheduler! 2021-06-30 13:07:54 +01:00
6de84b474e [*] BasicWorkStdFunc wrapper -> rename 'shutdown' property, made shutdown property optional 2021-06-30 10:35:53 +01:00
452b49b610 [+] Begin work on the Async subsystem 2021-06-30 10:28:52 +01:00
337062b490 Update headers, untabify. I guess the vs extension killed itself 2021-06-27 22:33:58 +01:00