1783202384
[*] ConsoleTTY QOL
2023-06-24 04:47:06 +01:00
fa90463a73
[*] im not sure why this was written like this
2023-06-23 22:36:13 +01:00
0d05fd3d33
[*] Minor mostly unnoticeable primitive improvements
2023-06-23 21:37:04 +01:00
74e036b809
[*] NT: Switch the event primitives used in old AuLoop (Aurora::Loop - no IO) subsystem
2023-06-23 07:56:40 +01:00
47746de462
[+] Process and threaded user and kernel time keeping clocks
2023-06-19 17:48:24 +01:00
2d6dca4e21
[+] 32bit SOO sizes for sync primitives under x86_32/MSVC
...
[*] Optimize the write-biased reentrant read-write lock down to 88 bytes on MSVC x64
2023-06-17 17:08:58 +01:00
451b9025c0
[*] Fix major recent regressions
...
amend: 48075bfd
amend: 25b933aa
amend: f50067e6 (to be overwritten)
et al
2023-06-17 15:12:16 +01:00
48075bfda7
[*] cleanup: added gUseNativeWaitSemapahore
2023-06-16 00:06:32 +01:00
25b933aafa
[*] Fixed regression in RWLock size without sacrificing on features
...
(TODO: I would like to WoA optimize it for modern oses at some point)
2023-06-16 00:02:42 +01:00
e11028bb03
[*] Timeout division: ensure this never deadlocks
2023-06-15 21:15:58 +01:00
74b813f051
[*] Bloat RWLock by adding a separate yield queue for writers (we were already writer biased)
...
This will help us reduce cpu usage and latency at the cost of 32 bytes.
We are now hopelessly oversized: 136 bytes for a single primitive. 104 was barely passble.
2023-06-15 20:54:19 +01:00
d389f9dda3
[*] Re-optimize the primitives for Windows 8+ on top of a Windows XP+ core
2023-06-15 20:52:28 +01:00
28201db2d7
[+] Improve WoA on Windows 8+
...
[+] AuThreading::WaitOnAddressSteady
2023-06-15 20:44:27 +01:00
17c50eff64
[*] fix old unix sync regressions
...
do not hold switching lock while spinning as originally written and intended
2023-06-13 12:05:55 +01:00
b91ce52195
[*] Not sure how WOA regressed
2023-06-12 19:35:54 +01:00
1a8acbdde5
[+] By-raw pointer WOA lists
...
(also they are now fairer)
[+] Steps towards future proofing NT (not the future proofing itself)
2023-06-12 18:31:44 +01:00
50413f36e5
[*] keyed events should yield indefinitely in their failure path
...
(amended one day later: removed one of the fixes. this is gonna apply to just one place for now)
2023-06-12 15:51:54 +01:00
123e34d224
[*] been meaning to remove this debug preemptive wake up for awhile
2023-06-11 21:35:47 +01:00
1bda1f469f
[*] simplify wake on address emulation
...
Windows 7 reporting improved time to wake, but it is still averaging about the same... everything.
2023-06-11 19:13:37 +01:00
5b495f7fd9
[*] sched: minor clean up
2023-06-11 17:52:50 +01:00
573031cd96
[*] idiot-proofing memory ownership
2023-06-11 15:49:39 +01:00
1f505fcf02
[+] Added explicit stream interface cache reset path under proto stacks
...
(amended: missed one discard)
2023-06-11 15:30:14 +01:00
98c1235554
[+] Futureproofing: AuByteBuffer flag
2023-06-10 21:50:00 +01:00
4a584ce73a
[+] Future proof IProtocolInterceptorEx with an optional pParent
in the only Aurora Interface methods last argument
2023-06-10 20:33:19 +01:00
90e08d534c
[*] optimize the other half ( aa7f783f
) of compression streams when used with the interceptor interface
2023-06-10 20:03:29 +01:00
519ba4b26e
[*] Fix up AuProcess version handling handling. Includes a new secret env-var.
...
(amended)
2023-06-08 10:29:13 +01:00
a56538a4cd
[*] women
2023-06-07 21:10:29 +01:00
9f52ca0f1a
[*] A patch to fix some of the regressions introduced in the first step in overhauling AuAsync
...
i beat my wife with cardboard spoons. jolly fun.
2023-06-07 20:35:31 +01:00
50f25e147a
[*] improve latency (i think - benchmark pending)
2023-06-07 11:45:14 +01:00
aa7f783fe9
[+] Optimize half of the compression cpy operation
2023-06-05 14:55:40 +01:00
301f1a6025
[+] yes
2023-06-04 22:19:57 +01:00
8b36562cf0
[+] why not?
2023-06-04 21:18:44 +01:00
78091bf84b
[+] also gonna impl this flush
2023-06-04 20:52:22 +01:00
bbd4679bed
[+] AuIO::IOPipeCallback::bCloseWriter
2023-06-04 20:49:13 +01:00
bc203d8cbc
[+] ProtocolPiece::GetParent
2023-06-04 19:07:26 +01:00
c9ed4b09b9
[+] Implement IStream[Read/Write].close for various IO subsystem interfaces
2023-06-04 19:02:33 +01:00
81b3550825
[+] AURT_ADD_USR_DATA usage across some relevant contexts
2023-06-04 17:28:29 +01:00
45b7bc6e99
[*] Improve arrow perf under win32
2023-05-31 08:09:44 +01:00
ce424388aa
[*] fix stack-overflow reporting
2023-05-31 07:15:55 +01:00
b423ce14b1
[*] change-up cond-vars mutual exclusivity locking
2023-05-31 05:34:36 +01:00
5cb56da924
[*] missed break [regression in 53df1ee8
]
2023-05-31 05:21:05 +01:00
055b149e11
[*] remove verbose "!= 0"
2023-05-31 04:38:05 +01:00
f92a19621a
[*] adjust undershooted ms scale sleeps to smt spin, then yield, in an effort to match nano-scale sleeps within 10s of kns
2023-05-30 13:12:53 +01:00
53df1ee81d
[*] Work on AuConditionVariable.NT some more
...
[*] Fix high cpu regression in 6af9940b
2023-05-30 12:53:26 +01:00
fb1b016c87
[*] fix what was meant to be a warning before a crash. now return false
2023-05-25 02:53:10 +01:00
6af9940bd4
[*] Rewrite a bit of AuAsync
...
(maybe 1/3 of a rewrite)
2023-05-25 01:55:55 +01:00
0b265c80cf
[*] ::run across threads should block until shutdown
...
[*] kanker that needs to be rewritten
2023-05-24 08:19:47 +01:00
824602b1fa
[*] i was taking a shit when i remembered our hashcash algorithm is fundamentally borked
2023-05-20 02:38:47 +01:00
b7de15d78e
[*] tweak LoopQueue.nt.cpp
...
[*] bug fixes for running Qt alongside GTK and other loops
2023-05-16 17:11:59 +01:00
323296aa78
[*] ConvertMSToTimescale: refactor arg to u64
2023-05-12 17:49:34 +01:00
e2f16091d9
[*] amend write ahead check
2023-05-11 18:31:47 +01:00
ac4968512b
[*] cleaned up an an unwanted network error from the logs by not flushing hello packets should the socket be in an unconnected state
2023-05-11 17:46:49 +01:00
5ded6a751f
[+] STATUS_CONNECTION_REFUSED for some lower-level firewall drivers under Windows
2023-05-11 17:38:14 +01:00
1fa433540b
[*] Experimental lower-latency IO pipes
...
[*] revert win32 net tx hardening - do not use the Reset function to null pSocket
[*] fix a bytebuffer circular buffer path
[*] update how TLS protocol stacks can snap the stack
2023-05-11 16:05:00 +01:00
9f59d4f921
[*] Fix TLS thread index out of bounds access
2023-05-09 14:21:55 +01:00
f842573352
[*] copy/pasted function parity
2023-05-08 15:21:15 +01:00
a2cfb7765b
[*] i want every bit of performance i can squeeze out of old windows operating systems
2023-05-08 15:16:06 +01:00
08f790c3af
[*] Update fenceless notes in AuMutex.NT.cpp
2023-05-08 14:46:20 +01:00
1ec1d4d01e
[*] update these members [ns-scale stat refactoring]
2023-05-03 13:34:41 +01:00
2fdf730263
[*] Stats now return nanoseconds timestamps
2023-05-03 08:57:21 +01:00
75ad160559
[*] cascade errors here plox
2023-05-02 11:27:06 +01:00
fca5b90b85
[*] adjust tls coefficients
2023-04-30 14:46:36 +01:00
7c1a1566fd
[*] missing tls impersonation in bd94b73d
2023-04-30 09:05:14 +01:00
448d840e4c
[*] missing free in bd94b73d
2023-04-30 09:02:13 +01:00
bd94b73dde
[+] New TLSView implementation
...
[+] AuTLSVariable
2023-04-30 08:24:27 +01:00
6683d3cfdc
[+] IProtocolPiece.GetNextPiece
...
[+] IProtocolPiece.ReallocateDrainBuffer
[*] Harden protocol piece use after destroy
2023-04-29 07:00:29 +01:00
c787d85485
[*] bug: fix process time counters under win32
2023-04-29 05:26:53 +01:00
0175809d0a
[*] Compression pipe now returns false should an error occur
2023-04-29 03:10:08 +01:00
4086fc94bb
[*] bug fix: RNG strings werent deterministic
2023-04-28 04:59:09 +01:00
da69428d7e
[+] IProtocolStack::PrependInterceptorEx
...
[+] IProtocolStack::PrependSingleFrameProcessor
[+] IProtocolStack::PrependSingleFrameProcessorEx
[+] IProtocolStack::GetArrayOfInterceptors
[+] IProtocolStack::GetInterceptorAtIndex
[+] IProtocolPiece::ToInputWriter
[+] IProtocolPiece::GetExtendedInterceptor
[+] IProtocolPiece::GetShortPipeInterceptor
2023-04-28 02:41:45 +01:00
f8219542c5
[*] precache socket network state errors here before the last transaction is released
2023-04-27 10:44:15 +01:00
eb4ee3143d
[*] bug: missing link
2023-04-27 10:26:41 +01:00
f1e9a7262b
[*] pipe processors with a stack attached to them should destroy the stack to forcefully break circular references in user code
2023-04-27 06:10:09 +01:00
f70d6392d9
[*] harden
2023-04-27 01:34:29 +01:00
efadd964be
[*] Improved disconnect reason reporting: HasErrorCode under the NT network async stream object
2023-04-26 20:32:25 +01:00
4b79aa902b
[*] i dont think this path should ever be hit, but just to be certain, lets check the networks output channel translation object for an error if the socketbase doesnt know of the last fatal error code
2023-04-26 20:22:11 +01:00
b8540c77a7
[*] improved network error reporting
2023-04-26 20:13:17 +01:00
3f0368b99d
[*] cache these adapter allocations away
2023-04-26 07:37:14 +01:00
30b0c2e0ba
[*] Preemptive GetOverlappedResult fast-paths under WaitMultiple2 that rely on the alertable yield under next read/write cannot be trusted if the read count is zero.
...
Direct IO-specific quirk?
Windows 7 specific quirk?
Direct IO under Win7 specific quirk?
idk, but this fixes it
2023-04-26 07:25:45 +01:00
22c4d25759
[*] amend cdf5a499
, bKillPipeOnFirstRootLevelFalse not respected
2023-04-25 12:57:15 +01:00
cdf5a499cb
[*] Improved pipe work awareness under protocol stack to allow for propagation of error conditions such that the top most interceptor can kill the pipe work
2023-04-25 12:13:16 +01:00
e0d7bbea01
[*] stream regression
2023-04-25 10:09:37 +01:00
664eb270dc
[+] IIOPipeWork::GetBytesProcessedInterframe
...
[*] IOPipeProcessors will now cap reported progression to the requested length if the requested page size would mean we overrun it.
2023-04-25 07:38:36 +01:00
f52175d7ce
[*] build error
2023-04-25 02:59:18 +01:00
36dee459ca
[*] TryLockRead was unware of RWRenterableLocks specifications
...
(not an issue for regular blocking lock paths)
2023-04-24 19:39:36 +01:00
8dcf857da5
[*] updated comments
2023-04-23 19:39:54 +01:00
f74a41e286
[*] Refactor our thread primitives for an SOO change, where the SOO[_t]-suffix is no longer required, resulting a new type conflict issue
2023-04-23 19:25:37 +01:00
5fd655b501
[*] further deprecate
2023-04-22 23:08:49 +01:00
772d08fee6
[*] amend 2a33d61e
2023-04-22 23:04:46 +01:00
2a33d61e63
[*] further deprecate high res clock
...
[*] further posix resolution reporting
2023-04-22 22:58:20 +01:00
945d54ef78
[*] i did a dumb
2023-04-22 22:38:37 +01:00
6d73dde240
[+] Thread + Process clocks
2023-04-21 22:08:56 +01:00
92af491fe8
[*] if (count == 1)
*
2023-04-21 18:52:30 +01:00
36c163d90c
[*] 2af2eadf
cont
2023-04-19 23:57:56 +01:00
d7d514c6b7
[*] protocol-stack ticks now check against the buffers error flags to ensure Writes/Reads weren't being silently dropped in user code
2023-04-19 23:46:56 +01:00
2af2eadfa8
[*] Resolve: protocol-stack link bug (multiple append failure / missing next link)
2023-04-19 23:35:48 +01:00
00129255f8
[*] changed this to be a soft-failure
2023-04-19 04:03:49 +01:00
11ba608727
[*] bonk
2023-04-19 03:54:55 +01:00
bfd4069994
[*] logger mitigations cont - current thread callback may as well be sanitized as well
2023-04-18 02:30:11 +01:00
b32bf5f1f1
[*] Logger mitigations
...
Closes #47
2023-04-18 02:09:16 +01:00