Commit Graph

781 Commits

Author SHA1 Message Date
da2b59d083 [*] Add move constructor 2022-01-18 16:56:54 +00:00
09d1db69f2 [+] added AU_THROW_STRING
[*] extend ByteBuffer
[*] minor reformatting
2022-01-18 16:49:50 +00:00
4dddcb108e [+] Added GetUserHome, GetAppData, GetRootAppdata, GetWritableAppdata
[*] Dont fail on non-blocking /dev/urand
[+] Added if not initialized check under RNG/unix fclose
[+] Add missing debug apis ready for report to linux
[*] Update build script for WIP branch
2022-01-18 14:27:06 +00:00
235225ec9d [+] Added WriteEoS
[*] Fix two build issues (missing = 0 in vtbl and messed up macros)
2022-01-17 15:21:36 +00:00
8fe1ab04a5 [+] Added fmt::[...]-less logging functions for applications who do not wish to include fmtlib, for whatever reason 2021-12-26 16:18:37 +00:00
cb6ebc3b10 [*] External build chains can add _AU_DETECT_GLM to detect GLM vector support. I think trashX systems will of course be problematic because "muh global include and link directories or just use nixos" 2021-12-26 15:50:15 +00:00
92d64d6117 [-] Remove accidental macro inclusion post-test 2021-12-26 15:48:14 +00:00
c51404e074 [+] Added AU_TRY_LOCK_GUARD_NAMED 2021-12-24 17:10:21 +00:00
9c8224b931 [+] Added TryLockGuard; AU_TRY_LOCK_GUARD_RET_DEF, AU_TRY_LOCK_GUARD, AU_TRY_LOCK_GUARD_RET_VAL, AU_TRY_LOCK_GUARD_RET_DEF
[+] Added explicit AU_WHAT macro, I think people are familiar with this nomenclatures, not sure.
[+] Added try catch around logger write line. I'm sure something will explode around here sooner or later
2021-12-24 16:25:12 +00:00
4bd5c4604c [+] Added global AuLog[...] aliases to make the logger more bearable when I get around to finishing it
[+] Rationalize /var over /opt
[+] Ensure all users can access data under ProgramData
2021-12-24 15:49:28 +00:00
a20bb97128 [+] Explicit async/blocking read process stdout/err
[*] Fixed missing inherit handles flag
[TODO] consider CREATE_NO_WINDOW flag when refactoring create process object
2021-12-24 14:34:55 +00:00
31695ae63b [*] Fix stupid mental typo of 'peek' -> 'peak' 2021-11-22 16:16:02 +00:00
d1e13d59d0 [-] eOSSpecified. Parsing /etc/ld.so.conf would be a pain and you can't really pull add directories on windows. the latter wold have to be implemented as a hack to use loadlibraryexw 2021-11-16 03:26:58 +00:00
d99c23d638 [+] Initial untested implementation of the loadlibrary impl for the load module api 2021-11-16 01:10:00 +00:00
2082a501ef [*] MSVC cried about this. Are constexprs not evaluated in lambdas? 2021-11-15 14:35:58 +00:00
d4ec3749e7 [*] fix new build chain build issues
[-] test trash from workpairimpl
[+] Process.hpp impl stub
2021-11-15 13:07:38 +00:00
d18affeea2 [+] Added first attempt at the windows version of WaitMultipleObjects/ This will be removed shortly.
[*] Update readme
[*] Update QueryBsdHwStat
2021-11-09 00:04:00 +00:00
82c065ae0c [*] Improve my nasty template enable when overloadable API by nudging an empty initializer list argument towards defining an empty FJob again
[-] Remove old deprecated comment
2021-11-08 00:48:04 +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
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
3a62400ac1 [+] Added Async::ITask
Reece, [07/11/2021 20:10]
technically legal template odr

Reece, [07/11/2021 20:11]
either we resolve the vtable from an api that returns a shared pointer of the implementation. The inline keyword should help with linking. Seems to work.

Reece, [07/11/2021 20:11]
or we just have the C/FTask impl in which case some compilers will C-inline the jmp target through the final hints. Connfirmed under MSVC and GCC.
2021-11-07 20:26:52 +00:00
320d6b95ce [-] Remove experiment that was accidently left in Entrypoint.cpp 2021-11-06 02:20:19 +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
14bde3750c [+] Added IAuroraThread::Detach 2021-10-25 19:19:49 +01:00
9ed6d2ff03 [+] Begin expanding OSThread to offer more signals. This needs optimizing 2021-10-25 18:08:28 +01:00
8d0641ab00 [+] Added a stupid AuNullCallback concept 2021-10-25 18:06:42 +01:00
8a9d9b67e8 [*] Clean up and expand AuroraMacros.hpp 2021-10-25 18:06:01 +01:00
b1b5f417a7 [*] Use the public AuroraForEach/Interfaces implementation 2021-10-24 13:04:22 +01:00
51e3944171 [+] Added RuntimeHasStarted. Possibly useful for multiple DLL users who have no say in the applications structure. 2021-10-24 11:53:14 +01:00
b8fde0bdf0 [*] Refactor and clean up exception and threading API
[-] Deprecated abstract vectors struct
2021-10-24 11:19:47 +01:00
e01fa33445 [*] Aurora::Data refactor and more public header include clean up 2021-10-24 10:04:02 +01:00
81ba305558 [*] More house cleaning / clean up 2021-10-23 21:13:40 +01:00
39834cef6a [*] House cleaning, refactoring, clean up 2021-10-23 20:21:16 +01:00
4e804e59c7 [+] Rewrite win32 file/directory opener 2021-10-23 19:42:05 +01:00
92f24e2a57 [+] Added AuDebugBreak() 2021-10-23 19:41:14 +01:00
fe529f3dc4 [+] Added AuroraInterface IThreadVectors for thread creation
[+] ThreadInfo's constructor now accepts additional arguments for name and stack
[*] Deprecate AbstractThreadVectors
[+] note about detaching threads
2021-10-23 19:25:43 +01:00
81abb38316 [-] Remove legacy utilities, one replacement concept is planned 2021-10-23 19:23:26 +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
a28f5285f0 [+] LogError, LogVerbose, and LogVerboseNoShip 2021-10-21 16:01:48 +01:00
3b2fd7c368 [+] Added AuXXXX namespace aliases
[*] Clock.hpp readability
[+] Added pseudofunction macros for weak/shared/bind this
2021-10-21 11:04:29 +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
ad182d07e0 [*] Use std::forward args 2021-10-18 13:53:24 +01:00
1cb56fb907 [*] Migrate more interfaces to aurora interfaces 2021-10-16 01:23:18 +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
45bf3e7a44 [*] God dammit 2021-10-15 08:16:03 +01:00
a626fbea24 [+] HWInfo::GetPageSize()
[+] Parse::SplitNewlines(..., ..., true) where the return value is the remaining unbuffered line
[*] Gross hack we should remove to drop std string parse exception abuse logs
[*] Update AuroraForEach and AuroraInterfaces
[*] Experiment with using alternative os address space reserve + commit mechanics for Memory::Heaps
[*] global fast rand device should be seeded with at least 64 bits of secure rng data. ideally, we should max out entropy with secure bits, but we dont
2021-10-14 12:35:05 +01:00
fc16065d5e [*] boring clean up and refactor 2021-10-09 00:39:42 +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
027f47c7f8 [*] Update AuroraInterfaces
[*] Update AuroraForEach
2021-10-08 15:35:37 +01:00
951d1928fd [*] Update AuroraInterfaces
[*] Update AuroraForEach
2021-10-06 15:25:50 +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
feef9eac09 [*] i can has english 2021-10-03 13:44:09 +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
c0eccaf901 [+] Mend noted build issues 2021-10-02 14:19:25 +01:00
1f35723107 stw 2021-10-02 12:29:18 +01:00
15ae6ab14c [+] Added file structure for the loop source subsystem 2021-10-02 11:28:49 +01:00
4703264c57 [+] Added 64bit rng seed support
[*] Cryptographically unsafe RNG is marginally less dangerous; use secure rng for the entire base seed instead of seeding using 32bit mt
2021-10-01 17:54:55 +01:00
a6d1c04ba0 [+] Added AuExists semantic 2021-10-01 17:49:23 +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
31c9f32a24 [*] MSVC Build Error in some projects 2021-10-01 17:26:13 +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
a1fc9ae49a [*] Amend type wrappers 2021-09-29 13:33: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
95b0e1135c [*] Rename AuDelegate to AuConsumer
[+] Added AuSupplier
2021-09-29 11:41:27 +01:00
10a61779e9 [*] You had one job 2021-09-29 09:19:04 +01:00
6632bf6d4e [*] Warnings 2021-09-29 09:03:08 +01:00
66c26b9bd2 [+] Added AuArray, AuFunction, AuDelegate, and others 2021-09-29 09:02:51 +01:00
1360e5627d [*] Update async header 2021-09-29 09:02:27 +01:00
097f805209 [*] Improve MemoryView 2021-09-29 09:02:01 +01:00
60d2c59d6e [+] More crypto copypasta 2021-09-21 02:54:47 +01:00
0bcaddc5c7 [+] Added macro AU_ITERATE_ARRAY. Idiom for; for (AU_ITERATE_ARRAY(index, array)) , where index is the name of the index variable, and array is an array of any type of a known length 2021-09-21 02:54:28 +01:00
bf892c8e01 [+] Added include for fmtlib ranges 2021-09-21 02:53:10 +01:00
9dd195949a [*] Preparing for ECC support 2021-09-18 21:10:25 +01:00
c4567f4c8c [*] Amend %x -> {:X} formatting
[+] Added source files ready for an LTC ECC implementation
[+] Added linux specific HWInfo get threads backend
[+] AU_TEMPLATE_ENABLE_WHEN
[*] Amend IO::FS::WriteString compilation issue
2021-09-17 20:26:05 +01:00
412d798994 [*] API design change, MemoryViews must be passed by reference such that a pointer to an object that may be the superclass of the actual RAII owner of the memory is passed 2021-09-15 20:08:08 +01:00
2c68cf529a [*] Should've ran a clean build :( 2021-09-15 02:14:29 +01:00
ca71401ba6 [-] Remove notepad.txt notes feelsbadman 2021-09-15 01:00:16 +01:00
510928e62e [*] Linux should not raise int3 unless the binary is a debug one
TODO: investigate registering an int3 signal handler to prevent crashing under internal builds
[*] Amend MemoryViews
[*] Begin shifting towards MemoryView based binary APIs
[*] Fix public RSA key leak
[+] Some clean up and possible bug fixes
2021-09-15 00:56:26 +01:00
e0ac8344d0 [+] Getting ready to strip void *s from the api 2021-09-14 20:10:57 +01:00
2382f75759 [+] Possible NT async file io implementation 2021-09-14 14:13:58 +01:00
7c90933e97 [+] Begin work on block compressors
[*] Bug fixes
2021-09-13 22:13:41 +01:00
5d18f3535c [+] Initial HWInfo stat implementations
[+] General fixes and clean up
2021-09-13 21:11:12 +01:00
97f1ae087e Stability/Bug fixes; wxWidgets, compression 2021-09-07 08:59:56 +01:00
bef72f8e4a More compression work, still requires polish and clean up 2021-09-07 08:37:15 +01:00
eb6a1eaad0 [+] TryResize test for bytebuffer type
[+] Added path in telemetry formats under NT FIO failures
[*] Various bug fixes
2021-09-06 20:04:01 +01:00
329abe97f4 [*] lz4 and buffered stream bug fixes 2021-09-06 16:47:35 +01:00
80d351472a [*] untested possible alternative solution, expose internal buffer size, caller does not manage internal buffer size (yet) 2021-09-06 15:22:17 +01:00
c256406053 [*] Untested bug fix: large compression frames were getting dropped 2021-09-06 14:59:00 +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
17e778eb5e [*] Split string may not ignore empty tokens anymore 2021-07-13 14:05:35 +01:00
7a838d4a51 :( 2021-07-13 13:16:40 +01:00
de25b0a0f5 [*] Inline RNG header functions (missed two :() 2021-07-13 13:13:59 +01:00
d9f9bba3c9 [*] Inline RNG header functions 2021-07-13 13:13:21 +01:00
1ff63f3479 [+] Added stub for fast rng
[*] Fixed RNG strings may contain a null byte
[+] Added RngByte, RngArray, RngBoolean
2021-07-13 13:09:10 +01:00
28a840f71d [+] Added async semantic ->Then(...) 2021-07-12 15:37:05 +01:00
3be51018c9 [-] Remove Flush from public compression interface
[+] Improved base block [de]compression objects
2021-07-11 12:36:15 +01:00
dd06417d04 [*] Starting to fix up rushed block compressors 2021-07-11 11:57:14 +01:00
718375b236 [+] Added AU_WEAK_FROM_THIS 2021-07-11 11:50:44 +01:00
687d1aaf06 [*] Amend assertions 2021-07-08 18:07:45 +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
a1df310ddc [+] Added AU_SHARED_FROM_THIS -> returns a shared pointer of decltype(*this) when std::enable_shared_from_this is present in a subclass 2021-07-05 14:34:59 +01:00
613a4b1455 [*] Assertions should static_cast<bool> because if statements are implicitly castable to bool but literal bool types arent 2021-07-05 14:34:05 +01:00
e0c96c7d49 [-] Remove AU_VA_OPT. this was never legal 2021-07-02 11:53:44 +01:00
b9da9c313e [*] Amend crypto headers and type usage 2021-07-01 10:33:31 +01:00
6e1037200c [*] Benchmark util shouldn't double print on dtor if Finish was already called 2021-07-01 10:24:30 +01:00
9a93d4ec8d [+] Added the old RSA wrappers
[*] Prepare for implementing ECC (again)
2021-07-01 10:18:42 +01:00
f87c2b47a6 [+] i can has registry 2021-06-30 17:35:02 +01:00
f7403c944c [*] Bug: Some Value constructor seems to be deduced down to accepting
const char *. Ensure const char* always assigns a string
2021-06-30 17:34:36 +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
1d6efb1e4e [*] Amend broken optimization 2021-06-30 10:28:28 +01:00
f1445c63bb Readded C++17 allocators 2021-06-28 00:12:17 +01:00
4f399b7e01 [*] Don't realloc and copy old str in SplitNewlines; use last index 2021-06-27 23:19:30 +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