Commit Graph

39 Commits

Author SHA1 Message Date
0f12603390 [+] AuAsync::NewWorkFunction
[+] AuAsync::IThreadPool::NewWorkFunction
[+] AU_DEBUG_MEMCRUNCH
2023-08-10 03:36:19 +01:00
dd13098022 [*] Transition to dynamic tick-based scheduling
[*] Re-do AuAsync reference counting
[+] IWorkItem::SetSchedSteadyTimeNsAbs
[*] Irrelevant IIOProcessor sources are now discarded in evaluating whether or not a thread-pool in special running mode should shutdown
[*] Transition WorkItems to only use steady time
[*] Refactor AsyncConfig
[*] Drop default SMT spin time from hundreds of cycles to ~32 so that we can sit nicely at the bottom of task manager unless the application calls for extra responsivity
2023-08-09 03:21:14 +01:00
6af9940bd4 [*] Rewrite a bit of AuAsync
(maybe 1/3 of a rewrite)
2023-05-25 01:55:55 +01:00
75ad160559 [*] cascade errors here plox 2023-05-02 11:27:06 +01:00
8293484a86 [*] Reworked AuAsync ThreadPool shutdown (again)
[*] Fixed nested lock under WorkItem
2023-02-08 18:23:37 +00:00
d4dfe22c6c [+] Always expand directory tree when attempting to copy or move files, just like every other FIO create operation.
[*] ~~Fix improper yield BlockUntilComplete on NewFence~~, kind of, not really. Wasn't really a bug. Might've introduced more overhead. Might revert.
2023-01-23 21:18:58 +00:00
48a8e4ae5a [+] Catch around all async DispatchFrames. Will add optional forced panic later.
[*] Fix thread handle bug on non-au threads
2022-10-14 07:16:28 +01:00
30da4bce04 [*] Fixup schedule failure rejection. Fixes crash during safe/good clean up. 2022-08-13 22:59:44 +01:00
0c3344fe46 [+] IIOSimpleEventListener
[+] IOProcessor::StartSimpleIOWatch(const AuSPtr<IIOWaitableItem> &object, const AuSPtr<IIOSimpleEventListener> &listener)
[+] IOProcessor::StartSimpleLSWatch(const AuSPtr<Loop::ILoopSource> &source, const AuSPtr<IIOSimpleEventListener> &listener)
[*] IOAdapterAsyncStream should reset the transactions IO state upon reaching end of segment (should this be per tick?) or upon stream error - otherwise, we end up spinning on a stuck event forever
[*] Fix non-linear path under read of the AuByteBuffer
[*] Fix various other nonlinear conditions under AuByteBuffer
[*] IOProcessor releases registered io item from queue upon request
[*] Fix ConsoleMessage::Write -> enumeration of color should be casted to a uint8
[+] Error telemetry under async task creation
[*] Fix various lock ups and non-blocking spins related to erroneous InternalRunOne impl. Residual preemptive batching was fucking with modern io.
[*] Cleanup TaskFrom/JobFrom. More work required to clean up legacy piss
2022-06-22 14:42:17 +01:00
8bd7f698e3 [*] Merge branches (includes fixes) 2022-06-12 19:23:18 +01:00
de504a3a2d [*] AuAsync: remove illegal static casts 2022-05-17 02:43:40 +01:00
00c82fdbe4 [*] Update WorkItem ::WaitFor 2022-05-17 01:59:19 +01:00
2c1d22ac13 [*] Missing AU_LOCK_GUARD in IWorkItem::WaitFor non-array variant 2022-05-17 00:46:25 +01:00
286ae14a7b [*] Refactor WorkItemHandler EProcessNext -> ETickType
[*] AuAsync aue 1 regression
2022-05-17 00:41:27 +01:00
eeaa10090d [*] 2/4 critical bugs in legacy aurora engine async subsystem 2022-05-10 14:22:37 +01:00
b29be7b2d5 [*] Hardened line bufferer
[+] Unstaged changes from last commit
2022-02-19 11:50:14 +00:00
be7e9271e6 [+] Added casts for pointer types
[*] Nuke more std:: references
2022-02-19 11:43:57 +00:00
c965d8384f [+] AuStaticPointerCast
[*] More refactoring
2022-01-19 18:53:22 +00:00
7759d38ed0 [*] Exterminate more std:: references 2022-01-19 17:08:13 +00:00
6135618e24 [+] Added AuIsThreadRunning
[*] Fix path bug
[*] Fixed two async shutdown bug
2022-01-19 02:49:44 +00:00
4282bb3fa6 [+] Added reschedClockAbsMs/reschedClockAbsNs
[*] Added AU_TEMPLATE_ENABLE_WHEN to utility APIs where there are PId and Id overlods
2021-11-08 00:11:01 +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
b8fde0bdf0 [*] Refactor and clean up exception and threading API
[-] Deprecated abstract vectors struct
2021-10-24 11:19:47 +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
caa983ecad [*] Major change in include convention 2021-09-30 15:57:41 +01:00
6e5905b80a [*] Permit unbacked IWorkItems 2021-09-30 11:29:18 +01:00
3fb8e2bf8c Remove ID 0 restriction from Aurora async, breaking the API 2021-09-30 10:19:04 +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
8a6abcfdb7 [+] Added IWorkItem::Cancel 2021-09-29 09:01:42 +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
c8c3908085 [+] Now with a scheduler! 2021-06-30 13:07:54 +01:00
e30be64c44 [*] Prevent pinning another WorkItems lock within the parent scope of some ::Fail's 2021-06-30 10:41:58 +01:00
23ddb0f2f6 [*] Ensure failure on waiters if a task we're waiting on has already failed 2021-06-30 10:34:01 +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
eb4a495199 Initial Commit 2021-06-27 22:25:29 +01:00