7fb73ccdb4
[+] IPC Logger: Added optional stream frame header (single u32) option
...
[*] FIX: Missing `this->isStream = isStream;`
[*] FIX: Blocking APIs under async objects under NT were using illegal calls that were for some reason not failing
2022-07-05 20:48:33 +01:00
c20b802da7
[*] "Improve" (bug fix) and "clean up" (hardly) legacy simple parse list tokenizer
2022-07-05 05:58:27 +01:00
97069a1515
[*] Undo fail on pipe broken, restore bytes written = zero behavior for reusable pipes. Will match on Linux.
2022-07-05 04:17:28 +01:00
c0ee48435c
[*] More IO bug fixes; a double free, statement that should be uncommented, and wrong IO handle under Async.NT.cpp read
2022-07-04 23:42:02 +01:00
ee07505952
[*] Fix win32 cwd under processes
2022-07-04 03:24:34 +01:00
f8c45613a1
[*] I'm a dumbass. This was accounted for a long ass time ago
2022-06-29 21:50:37 +01:00
bc1296a35c
[*] Deprecate NT impl of latching completeness of async transactions
2022-06-29 19:47:32 +01:00
803f097f84
[*] Typos and comments
2022-06-29 14:56:59 +01:00
70418df761
[+] Added extended IO apis
...
> StartSimpleLSWatchEx
> StartSimpleIOWatchEx
> StartIOWatchEx
[*] Update README
2022-06-28 16:04:07 +01:00
250d3fd11e
[*] Passive crinkling of today : Async.NT.cpp can now be aborted. Will port identical behavior to Linux.
2022-06-24 20:33:55 +01:00
bf6f13095c
[*] Linux builds again. Still behind
2022-06-23 13:25:20 +01:00
3a76aa6d69
[*] Fix IOPipeProcessor was checking against base + length instead of write head to determine stream consumer completion
...
[*] Fixup IPCPipe.NT recycling, including proper disconnect acknowledgment and removal of atomic release hack
[*] End of stream callback hack in Async.NT for IPC. net requires something else; this hack will do
[*] Fix io spin: bShouldReadNext wasn't reset on end of frame
2022-06-22 21:24:04 +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
7ea75b4014
[*] Until its not
2022-06-21 07:12:11 +01:00
7fde7d04fb
[+] EPipeCallbackType
...
[+] IIOBufferedStreamAvailable callback
[+] IIOProcessor singleshot work items / IIOProcessorWorkUnit
[+] IOPipeCallback description of a pipes destination
[+] IOPipeInputData description of a pipes source
[+] IOPipeRequest, IOPipeRequestAIO, IOPipeRequestBasic
[+] IPipeBackend hooks for on start/end hooks of IOPipeRequestBasics
[*] Update IOAdapaterAsyncStream implementation to better support caller buffering
[*] Updated IAsyncStreamReader to include a warm/dequeue API for direct async usage
[*] Fix NT IO regressions
[*] Fix ThreadPool shutdown on an unregistered thread
[*] Fix race condition in Async.NT.cpp & fix signalable state to closely match Linux (dunno how this was passing before)
[*] Refactor IOProcessorWorkUnit -> IIOProcessorWorkUnit
[*] Update experimental header to include the changes
2022-06-21 05:49:36 +01:00
7432aa5cac
[+] IIPCLogger structure to allow access to the underlying IPC pipe of an ipc logger
2022-06-17 09:22:24 +01:00
3985318566
[+] IPCSink
2022-06-17 00:05:32 +01:00
85cace020a
[*] dumb msvc build error
2022-06-16 02:36:35 +01:00
d47aeda082
[+] EConanonicalInput::eTab
...
[+] if ^::eString, [+] ...isControlSequence, isAltSequence, isShiftSequence
[*] Update semaphore from class to struct types
[*] GetProfileDomain and frens should check the result string length before returning true
2022-06-16 02:29:55 +01:00
9fb9eb4fd2
[*] Amend panic
2022-06-16 01:58:29 +01:00
5aea27d56d
[*] "Improve" win32 AuDebug
2022-06-16 01:51:19 +01:00
942373328c
[*] Refactor exchange TTY function mislabeled as set
2022-06-14 18:33:34 +01:00
a740e86a9a
[*] C warnings
2022-06-14 17:19:22 +01:00
17b1a738ca
[*] Solve a few compiler warnings. Mostly unrealistic u32 <-> u64 casts in element iteration and string operations we can reasonably ignore
2022-06-14 17:12:21 +01:00
f166849e9f
[TODO: BLOCK 2 PROGRESS]
2022-06-14 02:14:51 +01:00
0a2d4cde04
[+] readme.md
2022-06-12 21:18:26 +01:00
8bd7f698e3
[*] Merge branches (includes fixes)
2022-06-12 19:23:18 +01:00
b029f7692f
[*] Linux build errors
2022-06-12 14:53:35 +01:00
5d2b642ac0
[*] Huge refactor - Move Aurora::[IPC and Loop] to Aurora::IO
2022-06-12 01:29:28 +01:00
44108a322e
2/3 of the IO update (very early implementation)
...
[+] TTYConsole::GetPaddingTopOfLog,GetPaddingHeadOfLog,GetPaddingTopOfLog [+ set variants]
[+] IO::IOYield()
[+] IO::IAsyncTransaction::Failed,GetOSErrorCode()
[+] IByteBufferStreamPair
[+] IIOBufferedInterceptor
[+] IIOBufferedProcessor
[+] IIOEventListener
[+] IIOPipeEventListener
[+] IIOProcessorEventListener
[+] IIOProcessorManualInvoker
[+] IIOWaitableIOLoopSource
[+] IIOWaitableIOTimer
[+] IIOWaitableItem
[+] IIOWaitableTickLimiter
[+] IOAdapterAsyncStream
[+] IOAdapterByteBuffer
[+] IOAdapterCompression
[+] IOAdapterSeeking
[*] Cleanup CpuInfo.Linux.cpp
[*] Fixup async threadpool some more
[*] LSTimer.NT.cpp updates timer object on tick state update, akin to Linux
2022-06-12 00:01:27 +01:00
4675be4d78
[*] Fix stupid link error
2022-06-07 05:29:32 +01:00
c93d6033a5
[*] i'm dumb
2022-06-06 22:36:14 +01:00
e29843dc7e
[*] Beyond dumb fio offset issue
2022-06-06 22:34:49 +01:00
a59fc20d56
[+] ConsoleTTY.hpp write cmd history every 10 seconds under sys tick
2022-06-06 22:34:26 +01:00
f4515a7257
[*] Further further MALD
2022-06-03 20:28:08 +01:00
48e1ed80ae
[*] Further malding
2022-06-02 18:05:38 +01:00
a5757c31e0
[*] Cheeky AuThreadPrimitives refactor
2022-06-01 22:49:38 +01:00
b500c0bd5f
[+] Debug config
...
[*] Update legacy macros to modern pipeline under debug
2022-06-01 15:25:32 +01:00
db3f41233b
[*] Solve possible spinlock during exception under conin callback and print
...
[*] Update linkage
2022-05-30 09:46:24 +01:00
c88925fa27
[*] ConsoleTTY flip ux after append
2022-05-28 18:47:51 +01:00
5bafce075a
[*] Dumbdumb moment
2022-05-28 17:21:57 +01:00
77c74f886b
[*] Update IStreamReader/Writer interfaces to be backed by an Aurora Interface
...
[+] Aurora::IO::WriteAll
[*] Improve legacy compression API (pt 2)
2022-05-28 12:18:00 +01:00
25a593cac5
[*] Polyfill legacy compression api into modern io era with IStream[reader/writers]
2022-05-28 10:13:58 +01:00
4bf581cd37
[*] RandomDef explicit default-ctor followed by forced null of the structure to seed with fast rng
2022-05-27 20:45:00 +01:00
e665714341
[*] Bug fix: NT registry read function conflated array length with count
...
[*] Locale convert wchar -> utf count was not respected under non-nt targets
2022-05-26 15:02:23 +01:00
dc59e59e2a
[*] ConsoleTTY: Fix crash on arrow up
2022-05-24 07:09:42 +01:00
87c72a4aad
[+] ConsoleTTY !t and page up/down
2022-05-24 06:58:06 +01:00
f178188b5b
[+] ConsoleTTY !b
to scroll to bottom
2022-05-24 06:37:51 +01:00
670640321d
[*] ConsoleTTY UX
2022-05-23 16:10:19 +01:00
4b5bbe7be4
[*] Adjust console history behaviour
2022-05-20 11:52:30 +01:00
342db487f9
[*] AuAsync invalid self itr upon nested poll
2022-05-20 01:31:58 +01:00
fe88ae9821
[*] Another consoletty bug
2022-05-19 23:40:31 +01:00
19b29b8c08
[*] ConsoleTTY \t processing and reset history line index on enter
2022-05-19 23:28:11 +01:00
81939dd95e
[*] Cursor after history up/down was acting funky. This should fix it.
2022-05-19 04:32:23 +01:00
537ffca394
[+] ConsoleTTY history (unsaved)
2022-05-19 04:21:34 +01:00
4079d471a7
[*] Fix a deadlock in auasync
2022-05-19 04:07:10 +01:00
997c7cb325
[*] Fix text input bugs
2022-05-19 03:47:42 +01:00
10702f0419
[+] Initial Aurora ConsoleTTY shell attempt
2022-05-19 00:12:52 +01:00
59ea8d1c3d
[+] Try/catch around SysPump under async sched
2022-05-18 21:22:58 +01:00
a02bb0aabd
[*] Early internal non-canonical TTY api
2022-05-18 19:14:24 +01:00
6fb3f3a9e5
[*] NT ConsoleTTY -> This is less glitchy
2022-05-18 02:03:53 +01:00
1d859844fd
[*] Amend scroll Y
2022-05-17 17:58:29 +01:00
adcde3b0a3
[+] Internal TTY double buffeirng under NT
...
[+] NT: TTYScrollBuffer
[*] Move TTY under the ConsoleTTY namespace
2022-05-17 17:54:14 +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
24fc2fd90d
[*] Reset hashstream lock state on import/reset
2022-05-14 23:34:25 +01:00
d0c4d8cb33
Hash API polish
...
[+] Added IHashStream::Export
[+] Added IHashStream::Import
[+] Added IHashStream::Finalize (versus "deprecated" older api)
[+] Added EHashType eMD4, eRMD128, eRMD160, eRMD256, eRMD320
2022-05-14 21:06:46 +01:00
f182ecd986
[+] Added IOSleep.* files, API: AuIO::WaitFor(ms, waitEntireFrame)
2022-05-13 21:02:19 +01:00
86ac108f11
[*] Move AuIO::WaitMultiple
...
[+] AuIO::WaitMultiple2
2022-05-13 19:25:29 +01:00
021959bdfc
[+] Harden linux sleep against interrupts
2022-05-13 18:53:20 +01:00
2ecaef35fb
[+] Higher-res sleep under NT w/ NtDelayExecution
2022-05-13 18:44:44 +01:00
ede223e955
[*] NT build regression from Linux land
2022-05-13 15:07:53 +01:00
23e922a396
[+] ConsoleTTY.Unix.cpp port. ConsoleTTY.cpp soon ™️
2022-05-13 13:01:49 +01:00
5ae5950bd9
[*] Bug fix: select 0 should be an error under such NB is-signaled paths
2022-05-13 12:51:00 +01:00
8fb1542d03
[*] Linux regression before ConsoleTTYs
2022-05-13 01:43:54 +01:00
2a09e62add
[*] Refactor IAsyncTransaction -> Moved namespace from AuIOFS to AuIO bc other file-like APIs share the same FS implementation. IPC, process, and other namespaces have no reason to return an AuIOFS interface when dealing with pipes.
2022-05-12 09:04:32 +01:00
433154a9c6
[+] explicit EAnsiColor::eWhite and EAnsiColor::eBlack
2022-05-12 08:21:32 +01:00
95a8388807
[*] Bug fix: ConsoleTTY.NT.cpp was reporting buffer size, not screen size
...
[*] Move ConosleTTY.*.*pp's ready for ConsoleTTY
2022-05-12 08:06:08 +01:00
b98baea2a8
[*] 4/6 fatal bugs in auAsync 1.0 grime
2022-05-10 14:51:22 +01:00
eeaa10090d
[*] 2/4 critical bugs in legacy aurora engine async subsystem
2022-05-10 14:22:37 +01:00
1c7267b9d8
[*] Update how AuAsync handles SysPump - we should really deprecate it.
2022-05-09 19:27:36 +01:00
683ed60660
[*] Bug fix: console wouldn't reset its' input buffer if it had been fully consumed in the first attempt
2022-05-09 19:26:40 +01:00
61f20b6c69
[+] Linux: missing new IAsyncTransaction::Reset method
2022-05-05 12:48:37 +01:00
0a38ffacfa
[+] NT: IProcess::AsLoopSource()
...
[*] NT: Bug fix: our side of the process streams were not marked as FILE_FLAG_OVERLAPPED
[+] CreatePipeEx.NT.cpp
2022-05-05 11:26:21 +01:00
dfc21453ef
[+] Add IAsyncTransaction::Reset
...
[*] Bug fixes: Async.NT.cpp
2022-05-05 11:24:44 +01:00
08b9c48f6c
[*] Bug fix - NT: ConsoleStd should not close GetStdHandle (win32 - new), only CreateFileW (legacy code)
2022-05-04 22:51:47 +01:00
d5ec986e02
[+] Linux async process stream access API implementation and bug fixes in AuIOFS / Async.Linux.cpp implementation
2022-05-04 20:34:46 +01:00
9ac9b5419a
[*] Fix regression in NT builds from Linux patch
2022-05-04 18:12:14 +01:00
6de5cbfb95
[+] Linux: Added bSingleshot API to timerfd backend
...
[*] NT: Added TTY handle static getter optimization alongside a secret setter API
[*] Made ILoopSource virtual
[+] Linux: Added console TTY stubs
[*] Renamed ConsoleTTY.Linux.cpp -> ConsoleTTY.Unix.cpp
[-] Redundant commented out shm_unlink (zero ref condition should unlink, i believe.)
[+] Added IProcess async pipe transaction getter stubs
[+] Added additional userland env lookup variables: XDG_SESSION_DESKTOP, DESKTOP_SESSION
[+] Unix: AuTime::ns2ts
2022-05-04 16:43:23 +01:00
2af66e0f71
[+] Add singleshot timer API flag
2022-05-04 14:00:26 +01:00
9f93b8a0b1
[+] 100 nanosecond resolution ILoopSource timer API (gl getting that res)
2022-05-03 18:42:14 +01:00
97cdbc9f27
[+] Overlapped stdout/in/err processes API
2022-05-03 11:10:04 +01:00
45975e4755
[+] Added console stdin loop source
...
[*] Fix logger color regression
[*] Fix various issues with console config struct
2022-05-03 07:19:26 +01:00
72f342e376
[*] Remove tabs
2022-05-03 05:54:24 +01:00
73173bdaae
[+] A small hacky TTY interface API
2022-05-03 05:31:49 +01:00
5cd9e64992
[*] UNIX: client IPC pipes shouldn't be announced
2022-05-03 05:30:23 +01:00
1642f4c1df
[*] 32bit parse regression
2022-05-03 05:29:39 +01:00
7613af2280
[*] UNIX: Attempt to peek pipe read-available if in ptr is null with FIONREAD when available
2022-05-01 20:35:46 +01:00