Commit Graph

932 Commits

Author SHA1 Message Date
9b26eea886 [+] IAsyncTimer::SetCatchUp(bool bCatchUp) 2024-05-19 17:01:51 +01:00
e86a414837 [*] d589ce3549 missed header update 2024-05-11 18:51:16 +01:00
631624dc55 [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
f948c3423c [*] Fix dodgy mostly unused error-less T ByteBuffer::ReadTagged() 2024-05-03 14:23:21 +01:00
a35c1f165a [+] AuAsync::ThreadPool::Wakeup(WorkerId_t) 2024-05-03 11:32:31 +01:00
373ccc3660 [+] C++20 QOL changes to AuFutures including AuFuture<X, Y>::BlockUntilComplete()
[*] Added additional check for failing dependencies of IWorkItems. Not required for fails to cascade, but this is nice to have here.
2024-05-03 09:28:14 +01:00
195af26aa4 [*] C++20 coroutine support: recursive callstack 2024-05-01 20:09:35 +01:00
f13c344249 [*] DemangleName should use a RONString 2024-04-28 16:44:16 +01:00
7e9a9417db [*] ROXTL now has AuRONString
[*] Envvars: empty value is now valid
2024-04-28 13:22:47 +01:00
54904957f2 [+] IRandomDevice.NextArrayVec2Fast
[+] IRandomDevice.NextArrayVec3Fast
[+] IRandomDevice.NextArrayVec4Fast
[+] AuRNG.RngArrayVec2Fast
[+] AuRNG.RngArrayVec3Fast
[+] AuRNG.RngArrayVec4Fast
2024-04-24 15:27:19 +01:00
a526d67bc3 [*] Change/Fixup the object ids of ByteBufs typedreadwrite 2024-04-24 14:25:49 +01:00
298ab88648 [+] AuMemoryView::TryPromoteToSharedView
[+] AuMemoryView::TryDemoteFromSharedView
[+] AuMemory::RequestHeapOfSharedRegion
2024-04-24 00:52:58 +01:00
36f0be801c [*] ShuffleIterators should use the fast impl of RngArrayU32Range 2024-04-22 23:33:06 +01:00
442a5f31eb [+] AuRNG::RngArrayI32RangeFast
[+] AuRNG::RngArrayU32RangeFast
[+] AuRNG::RngArrayI64RangeFast
[+] AuRNG::RngArrayU64RangeFast
[+] IRandomDevice::NextArrayI32RangeFast
[+] IRandomDevice::NextArrayU32RangeFast
[+] IRandomDevice::NextArrayI64RangeFast
[+] IRandomDevice::NextArrayU64RangeFast
2024-04-22 22:05:01 +01:00
5f9681c9e3 [+] AuRNG::IRandomDevice::NextU64Range
[+] AuRNG::IRandomDevice::NextI64Range
[+] AuRNG::IRandomDevice::NextVec2
[+] AuRNG::IRandomDevice::NextVec2Sorted
[+] AuRNG::IRandomDevice::NextVec3
[+] AuRNG::IRandomDevice::NextVec3Sorted
[+] AuRNG::IRandomDevice::NextVec4
[+] AuRNG::IRandomDevice::NextVec4Sorted
[+] AuRNG::IRandomDevice::NextArrayI64Range
[+] AuRNG::IRandomDevice::NextArrayU64Range
[+] AuRNG::IRandomDevice::NextArrayU32Mask
[+] AuRNG::IRandomDevice::NextArrayU64Mask
[+] AuRNG::IRandomDevice::NextArrayI64
[+] AuRNG::IRandomDevice::NextArrayU64
[+] AuRNG::IRandomDevice::NextArrayVec2
[+] AuRNG::IRandomDevice::NextArrayVec2Sorted
[+] AuRNG::IRandomDevice::NextArrayVec3
[+] AuRNG::IRandomDevice::NextArrayVec3Sorted
[+] AuRNG::IRandomDevice::NextArrayVec4
[+] AuRNG::IRandomDevice::NextArrayVec4Sorted
[+] AuRNG::IRandomDevice::NextArrayVec4SortedFast
[+] AuRNG::IRandomDevice::NextArrayVec3SortedFast
[+] AuRNG::IRandomDevice::NextArrayVec2SortedFast
[+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast
[+] AuRNG::IRandomDevice::NextArrayDecimalsFast
[+] AuRNG::RngU64Range
[+] AuRNG::RngI64Range
[+] AuRNG::RngVec2
[+] AuRNG::RngVec2Sorted
[+] AuRNG::RngVec3
[+] AuRNG::RngVec3Sorted
[+] AuRNG::RngVec4
[+] AuRNG::RngVec4Sorted
[+] AuRNG::RngArrayI64Range
[+] AuRNG::RngArrayU64Range
[+] AuRNG::RngArrayU32Mask
[+] AuRNG::RngArrayU64Mask
[+] AuRNG::RngArrayI64
[+] AuRNG::RngArrayU64
[+] AuRNG::RngArrayVec2
[+] AuRNG::RngArrayVec2Sorted
[+] AuRNG::RngArrayVec3
[+] AuRNG::RngArrayVec3Sorted
[+] AuRNG::RngArrayVec4
[+] AuRNG::RngArrayVec4Sorted
[+] AuRNG::RngArrayVec4SortedFast
[+] AuRNG::RngArrayVec3SortedFast
[+] AuRNG::RngArrayVec2SortedFast
[+] AuRNG::RngArrayDoubleRangeFast
[+] AuRNG::RngArrayDecimalsFast
2024-04-22 06:02:56 +01:00
76b5466e87 [*] fix 2024-04-21 06:53:34 +01:00
b47cf9f181 [*] DebugBenchmark and ITTYConsole now uses ROStrings 2024-04-21 06:02:47 +01:00
7935159290 [+] std::pmr requirements 2024-04-21 02:49:57 +01:00
e7d9df3cab [*] Improve alt-AuString allocator awareness 2024-04-20 02:29:49 +01:00
83f34b0c47 [*] I was right. String views are [mostly] pointless (*)
03:28:55:638  17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation.
03:28:55:638  17>  0 functions were new in current compilation
03:28:55:638  17>  65 functions had inline decision re-evaluated but remain unchanged
03:28:56:749  17>Finished generating code

the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std)

perhaps this will help some language binders
2024-04-19 05:58:08 +01:00
62917318af [+] (reference futex primitive) AuFutexMutexSpecial = AuThreading::Waitables::FutexWaitableNoVTblMovable
[+] (reference futex primitive) AuFutexMutexSmallest = AuThreading::Waitables::FutexWaitableNoVTblMovableSmallest

...because i cant be arsed
2024-04-16 04:30:31 +01:00
7cb9355805 [*] Harden RequestHeapOfRegion 2024-04-15 18:04:44 +01:00
528cb01679 [*] INetAdapter refactor: lets not assume all adapters have IP addresses 2024-04-14 22:02:38 +01:00
0164919cd9 [+] while_bc 2024-04-13 22:49:05 +01:00
3115627424 [*] Introduce APIs to access IProcessSectionMapView safely when malicious calls to Unmap could be made 2024-04-12 13:42:30 +01:00
f2eadb4653 [*] Destink Stinks.hpp 2024-04-11 14:53:02 +01:00
9742db62d3 [+] AuLogging::NewStreamSink
[*] Logging QOL fixes
2024-04-10 11:05:00 +01:00
a300076c6d [*] Refactor: INetAdapter::GetDNS() now returns a const reference 2024-04-01 06:44:20 +01:00
2a2e40fc8c [*] Refactor ENetworkAdapterType->EAdapterType
[*] Refactor ENetworkAdapterStatus->EAdapterStatus
2024-04-01 06:41:51 +01:00
2717178681 [+] Added INetworkInterface overloads
[+] INetInterface::SetWorkersService
[+] INetInterface::SetResolveService
[+] INetInterface::SetDatagramService
[+] INetInterface::SetInterfacesService
[*] Refactor: INetAdapter::GetStatus -> INetAdapter::GetAdapterStatus
[*] Refactor: const NetError &ISocketBase::GetError() -> AuOptional<const NetError &> ISocketBase::GetError()
[*] Refactor: INetAdapter to return const references of IPAddresses
2024-04-01 06:28:35 +01:00
232a136bfe [+] IOHandle::IsWriteEoSOnClose
[+] IOHandle::SetWriteEoSOnClose
[+] IOHandle::HandleCreate::bFlushOnClose
[+] IOHandle::HandleCreate::bWriteEoSOnClose
[*] Unified grug based auto-truncating. Previously we were truncating on the final derefing thread; now, we truncate on the grug thread.
[*] Refactor/Cleanup IOHandle
2024-03-27 03:15:01 +00:00
30fa15b726 [*] Clean up grug and auasync scheduler / improved idle cpu usage 2024-03-26 18:38:52 +00:00
8a9c45c213 [*] shit spec by shit for brains phd boomers 2024-03-25 13:37:18 +00:00
683e383095 [*] MSVC build regression 2024-03-24 15:30:00 +00:00
c87ec4e4b6 [*] Linux build regressions 2024-03-21 00:32:13 +00:00
d6ac05054e [*] Update prototype: AuFS::ReadDirRecursive(const AuString &string, AuOptional<bool> bTraverseSymlinks)
[+] AuUInt32 AuFS::IReadDir::GetErrorCount()
[+] AuList<AuString> AuFS::IReadDir::GetErrorPaths()
2024-03-19 18:08:54 +00:00
bd1283e146 [*] Polish AuMemory 2024-03-19 16:10:32 +00:00
0b60cb8099 [*] Fix major heap regression 2024-03-19 11:56:15 +00:00
b65f27fa8f [*] Harden AuByteBuffer against use after free 2024-03-18 08:47:37 +00:00
c54ac9d6a3 [+] AuFS::ReadFileHeader 2024-03-18 05:58:20 +00:00
f0248ed658 [*] Fix AuByteBuffer writes of AuOptionals 2024-03-17 20:42:24 +00:00
c3cb380eca [+] ADestructionWatcher::ADestructionWatcher(ADestructionWatcher &&move);
[+] ADestructionWatcher::ADestructionWatcher(const ADestructionWatcher &copy);
[+] ADestructionWatcher::ADestructionWatcher &operator =(ADestructionWatcher &&move);
[+] ADestructionWatcher::ADestructionWatcher &operator =(const ADestructionWatcher &copy);
2024-03-17 19:00:05 +00:00
1e53972a2a [*] Harden AuFutures against OOM 2024-03-17 16:09:24 +00:00
41a7ddf51c [*] Update AuNewClassUnique for a7033c40 2024-03-17 15:29:14 +00:00
bcb007ebe8 [*] Improved AuByteBuffer structure 2024-03-17 13:57:28 +00:00
a7033c40e2 [*] Nuke some std:: usage under AuMemory::Heap 2024-03-17 13:16:43 +00:00
1fc131e10a [*] Move #if defined(_AUHAS_FMT) around 2024-03-17 06:19:22 +00:00
1263434bb7 [+] bool IIOHandle::InitFromHandleCopy(const IIOHandle *pHandle) 2024-03-15 13:34:01 +00:00
25b1a9cad6 [*] Thread-safety: harden io file streams and improve construction api of OpenBlockingFileStreamFromHandle 2024-03-15 08:50:52 +00:00
a80f6091c5 [*] Updated WakeOnAddress comments 2024-03-13 09:37:07 +00:00
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
cac3746bf0 [*] Update CmdLine prototype: AuOptional<const AuString &> GetValue(const AuString &key) 2024-03-13 02:03:56 +00:00
d14ba6cfd4 [+] AuThreading::EWaitMethod
[+] AuThreading::TryWaitOnAddressSpecial
[+] AuThreading::TryWaitOnAddressSpecialEx
[+] AuThreading::WaitOnAddressSpecial
[+] AuThreading::WaitOnAddressSpecialSteady
2024-03-12 22:50:22 +00:00
db1ff0cbf8 [*] Refactored FS resources to return AuOptional<const AuString &> 2024-03-11 21:05:03 +00:00
631fad8fd0 [+] ERngStringCharacters::eLowerAlphaNumericCharacters
[+] ERngStringCharacters::eUpperAlphaNumericCharacters
2024-03-11 17:33:36 +00:00
ac1501c357 [+] AuOptional<AuString> AuFS::NewTempFile()
[+] AuOptional<AuString> AuFS::NewTempDirectory()
2024-03-10 15:00:13 +00:00
fceb937bfd [+] Aurora::IO::Async::SpawnMoreThreads
[+] Aurora::IO::Async::GetSpawnedThreads
2024-03-10 11:34:18 +00:00
41412876b6 [*] Improved AuThreads::Spawn prototypes with new optional finalizer arg 2024-03-10 10:22:50 +00:00
58e8209cff [*] Respect AU_NO_INC_ARG_EXPRESSIONS / AU_INC_ARG_EXPRESSIONS under SysPanics 2024-03-10 10:15:57 +00:00
99533c456d [*] Amend 6913daae 2024-03-10 09:57:27 +00:00
9c4315ff95 [*] Hardening in the form of the prevention of future bad rewrites of similar code
[+] MemoryView::AtOffset
[+] MemoryView::Take
2024-03-10 09:46:53 +00:00
6913daae7d [+] bool AuFutexSemaphore::AcquireUntilExactlyEqualAbsNS(AuUInt32 uValue, AuOptional<AuUInt64> qwTimeoutAbs)
[+] bool AuFutexSemaphore::AcquireUntilAtleastAbsNS(AuUInt32 uValue, AuOptional<AuUInt64> qwTimeoutAbs)
2024-03-10 09:28:50 +00:00
cc4d97d6e7 [+] bool AuFutexSemaphore::LockUntilEqualAbsNS(AuUInt32 uValue, AuOptional<AuUInt64> qwTimeoutAbs) 2024-03-10 00:43:17 +00:00
c935b892c7 [*] Harden AuByteBuffer
[+] Alias: AuNewSharableBuffer
[+] Alias: AuNewSharableResizableBuffer
[+] Alias: AuNewRingBuffer
[+] Alias: AuNewResizableBuffer
2024-03-09 06:57:19 +00:00
a9fd9221b7 [+] AuFS::OpenAsyncFromSharedHandle 2024-03-09 00:56:59 +00:00
48aa0f01b1 [+] IFileStream::ToStreamSeekingReader
[+] IFileStream::ToStreamSeekingWriter
[*] Mitigation for Linshids god awful IO subsystems
2024-03-09 00:47:33 +00:00
66f3250983 [*] Improved IMemoryMappedFile API
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingPair
2024-03-09 00:20:26 +00:00
38bf52e852 [+] Aurora::IO::FS::IMemoryMappedFile
[+] Aurora::IO::Adapters::NewMemoryViewWriteSeekableAdapter
[*] ViewSeekableReadable -> ViewSeekableReader
[+] Aurora::IO::FS::OpenMap
[+] Aurora::IO::FS::OpenMapFromSharedHandle
2024-03-07 06:49:23 +00:00
7b302a7f35 [*] Improve AuProcesses CompletionGroup integration 2024-03-05 21:52:52 +00:00
2371794d47 [+] Linux Exception Handlers and AuExit::ETriggerLevel::eSigQuitNow
[*] Linux stability fixes
[+] AuProcAddresses.UNIX.[cpp/hpp]
2024-03-05 13:55:21 +00:00
8b29e73f96 [*] Switch over to mapped cpuset ids as opposed to the ((groupIndex + 1ull) * 0x100ull) + logicalProcessorIndex approximation 2024-03-04 13:07:49 +00:00
2a5fad9d0c [+] Debug heap API: void Heap::WalkHeap(bool(*fCallback)(void *, void *), void *pSecondArg) 2024-03-04 04:51:41 +00:00
13b61f166c [*] Updated registered LTC digest indices 2024-03-03 03:26:01 +00:00
3004c3de19 [+] Experimental AuThreading::TryWaitOnAddressUntilEqualEx, WaitOnAddressUntilEqual, WaitOnAddressUntilEqualSteady 2024-03-02 23:23:16 +00:00
27977779a9 [*] Improved destruction watchers 2024-03-02 01:47:12 +00:00
2aea6958d4 [*] Updated some comments 2024-02-28 17:13:57 +00:00
097c0c1917 [+] IWorkItem::AddDelayTimeRepeating
[+] IWorkItem::AddDelayTimeNsRepeating
2024-02-27 12:24:17 +00:00
4ef055f81e [+] IWorkItem::SetSchedByLoopSourceRepeating
[+] ETickType::eRerunAndNotifyRepeatingWaiters
[+] ETickType::eScheduleAndNotifyRepeatingWaiters
[*] ETickType::eRerun async work items of ANY io fences
2024-02-27 12:08:22 +00:00
1f143ae981 [*] Harden 1920f5a8 against deadlocks under neverending pipe conditions 2024-02-27 10:55:38 +00:00
1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00
7dbf564a27 [*] Clean up 42af66c8 2024-02-26 00:28:33 +00:00
2731183a1a [+] AuMemory::SharableByteBuffer 2024-02-26 00:05:01 +00:00
42af66c841 [+] AuIO::ReadAsync
[+] AuIO::WriteAsync
2024-02-25 23:30:56 +00:00
7001a97870 [*] Retard proof AuWorkerID 2024-02-25 23:26:44 +00:00
f68ac4a328 [*] Added more instances of AURT_ADD_USR_DATA in interface decls 2024-02-25 22:54:22 +00:00
ddebc422ed [*] Updated comments in IProtocolStack.hpp 2024-02-25 20:19:10 +00:00
e199172428 [+] AuRNG::SetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackend
2024-02-25 19:42:11 +00:00
8c101cea6f [+] IRandomDevice::ShuffleIterators
[+] IRandomDevice::ShuffleList
[+] AuRNG::RngShuffleIterators
[+] AuRNG::RngShuffleList
2024-02-25 19:29:06 +00:00
2a555626bb [*] Shared user data between ICompletionGroupWorkHandle and IAsyncTransaction 2024-02-24 22:15:20 +00:00
493f449d1d [*] Major Linux build regressions 2024-02-23 12:44:43 +00:00
2da8332c0f [+] Added "Safer" variants to bcrypt when using string containers 2024-02-19 19:09:21 +00:00
0461b54045 [*] Improve PKCS1 OAEP support 2024-02-19 11:15:10 +00:00
97bf497ec0 [*] 260e33fd cont again 2024-02-18 18:11:11 +00:00
3732352b4e [+] AuHashing::Whirlpool
[+] AuHashing::Blake2S_32
[+] AuHashing::Blake2S_28
[+] AuHashing::Blake2S_20
[+] AuHashing::Blake2S_16
[+] AuHashing::Blake2B_64
[+] AuHashing::Blake2B_48
[+] AuHashing::Blake2B_32
[+] AuHashing::Blake2B_20
[+] AuHashing::GetHashLength
[+] AuHashing::GetHashBits
[+] AuHashing::IHashStream::GetHashType
2024-02-18 17:53:37 +00:00
ce33642b1e [*] 260e33fd cont 2024-02-17 02:45:00 +00:00
260e33fd91 [*] Not a day goes by without Roman Medvedev giving me grief
(Updated fmtlib after 3 years lol)
2024-02-16 13:07:28 +00:00
ae17ad13fe [*] DeleteThatCastedOnce should check the real types trivialness 2024-02-16 11:45:57 +00:00
72335a09a9 [*] Harden AuCastPointer 2024-02-15 01:50:27 +00:00
98b72f7e0a [+] ErrorStack::HasCapturedMessage (to disambiguate C or missing SysPushErrorMemory OOM conditions) 2024-02-15 00:56:43 +00:00
1f8ecd1bbd [*] Docs: Emphasize what IsWindowsNNN*ANY* means 2024-02-14 07:25:07 +00:00