Commit Graph

491 Commits

Author SHA1 Message Date
00cb256f06 [+] Reintroduce LZMA support after dropping support for the compression algorithm during the initial rewrite 2023-07-05 13:56:08 +01:00
3563ece47b [*] Improve non-fatal exception handling 2023-06-28 04:48:25 +01:00
f37ae43045 [*] Rushed Time.hpp typos 2023-06-22 19:34:47 +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
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
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
28201db2d7 [+] Improve WoA on Windows 8+
[+] AuThreading::WaitOnAddressSteady
2023-06-15 20:44:27 +01:00
573031cd96 [*] idiot-proofing memory ownership 2023-06-11 15:49:39 +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
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
8667d1059f [*] Refactor: drop "leaky" from user data members
[*] ...fix IHasPrivateData
2023-06-06 14:06:09 +01:00
aa7f783fe9 [+] Optimize half of the compression cpy operation 2023-06-05 14:55:40 +01:00
07ce6d8974 [+] Future proof IWaitable with Abs waits
(polyfil for now)
2023-06-05 11:47:19 +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
81b3550825 [+] AURT_ADD_USR_DATA usage across some relevant contexts 2023-06-04 17:28:29 +01:00
ead3035cf9 [+] Initial SRC for private shared data API 2023-06-04 17:04:55 +01:00
b60b580d62 [*] Waterfall fix 2023-05-25 03:10:12 +01:00
26f581736a [+] Futures with an error value
[+] Added (made public) AuFuture::CompleteCallback_f
[+] Added (made public) AuFuture::ErrorCallback_f
2023-05-25 02:38:41 +01:00
7cf042d99c [+] AuFuture
[+] AuWaterfall
2023-05-25 02:11:03 +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
323296aa78 [*] ConvertMSToTimescale: refactor arg to u64 2023-05-12 17:49:34 +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
a713a110f7 [*] amend comment 2023-05-03 10:16:49 +01:00
2fdf730263 [*] Stats now return nanoseconds timestamps 2023-05-03 08:57:21 +01:00
bd94b73dde [+] New TLSView implementation
[+] AuTLSVariable
2023-04-30 08:24:27 +01:00
37472e508e [+] AuMemory::SharedByteBuffer
[+] AuMemory::ByteBuffer.flagNoFree
[*] SetBuffer(MemoryViewRead readView, bool bMoveWriteHeadForReaders = true);
...added bMoveWriteHeadForReaders
[-] AuMemory::SetBuffer(const void *in, AuUInt length)
[-] AuMemory::SetBuffer(const AuList<AuUInt8> &buffer)
[*] Harden AuMemory::ByteBuffer::RemainingBytes bc it is a high level api that is not called excessively. Invalid head states should not mess with ::CanRead/::CanWrite
[*] Harden AuMemory::ByteBuffer::RemainingWrite bc it is a high level api that is not called excessively. Invalid head states should not mess with ::CanRead/::CanWrite
2023-04-30 02:39:42 +01:00
e0d672ae9b [+] ByteBuffer::SetBuffer(MemoryViewRead readView)
[*] revert 6317a563
2023-04-29 14:04:31 +01:00
c3a986495c [*] AuByteBuffers should be able to .Write<std::string_view>() 2023-04-29 07:50:56 +01:00
6317a5631d [*] update ResetPositions 2023-04-29 07:46:35 +01:00
e4e3e70be2 [*] sanitize these AuByteBuffer utilities to prevent exploitation 2023-04-29 07:38:16 +01:00
cc317882e9 [*] clamp head positions during non-circular realloc 2023-04-29 07:34:00 +01:00
6683d3cfdc [+] IProtocolPiece.GetNextPiece
[+] IProtocolPiece.ReallocateDrainBuffer
[*] Harden protocol piece use after destroy
2023-04-29 07:00:29 +01:00
d791725438 [*] remove extra whiteline introduced in da69428d 2023-04-28 02:44:39 +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
b8540c77a7 [*] improved network error reporting 2023-04-26 20:13:17 +01:00
044fb5b7e4 [*] added additional arg checks to ByteBuffers constructors 2023-04-26 07:43:56 +01:00
48fc0cdaed [*] amend SysPanic2 to support 0 args 2023-04-25 12:23:22 +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
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
2a33d61e63 [*] further deprecate high res clock
[*] further posix resolution reporting
2023-04-22 22:58:20 +01:00
62c29d0600 [*] clock switcheroo 2023-04-21 22:35:33 +01:00
4d84e8f7f3 [+] AURORA_ASSERTIONS_FORCE_EXPRESSIONS 2023-04-21 22:21:28 +01:00
4d9d6ae474 [+] SysUnreachable 2023-04-21 22:09:01 +01:00
6d73dde240 [+] Thread + Process clocks 2023-04-21 22:08:56 +01:00
4b0dfabd67 [*] Comments 2023-04-21 05:58:24 +01:00
99123bb094 [*] why the hell were these made const 2023-04-19 03:17:45 +01:00