Commit Graph

716 Commits

Author SHA1 Message Date
6acf21009d [-] Bytebuf: Remove linear-buffer only constraint 2023-10-24 11:30:36 +01:00
076e255432 [*] Redo AuIO::ReadAll(IStreamReader *that, Memory::ByteBuffer &buffer, ...)
[+] EStreamError::eErrorByteBuffer
[+] EStreamError::eErrorOutOfMemory
2023-10-24 11:27:20 +01:00
4b38f205d1 [*] oops i didnt just break the build 2023-10-23 12:38:29 +01:00
08c37454fe [+] ENetworkError::eBrokenByteBuffer 2023-10-23 11:21:10 +01:00
18dbe62959 [-] Bytebuf: Drop final references to fast/zeroless allocation 2023-10-23 09:58:17 +01:00
3dee15a0f6 [+] StaticClocksQuery.hpp header (split off) 2023-10-23 09:49:43 +01:00
1f685b635b [+] ISocketStats::GetUptimeNS
[*] Some socket stat cleanup+fixes
2023-10-23 09:17:46 +01:00
a5b7ea9af4 [*] Bytebuf resize: Fix perf regression in 6d49de43 2023-10-23 07:49:52 +01:00
6d49de430a [*] Unfuck/simplify bytebuffers resize 2023-10-22 06:57:01 +01:00
591c0fe48b [+] ILSSemaphore::AddMany 2023-10-22 06:11:39 +01:00
f0aef1f712 [+] AU_DEBUG_REVERSE_MEMCRUNCH 2023-10-21 08:19:27 +01:00
bd11c0860d [*] Enforce tags around here 2023-10-21 08:07:18 +01:00
60bb1020ce [+] bool WaitMultipleLoopSources(const AuList<AuSPtr<Loop::ILoopSource>> &lsList,
AuList<AuSPtr<Loop::ILoopSource>> &signaled,
                                 bool bAny = true,
                                 AuOptionalEx<AuUInt32> uTimeoutMS = 0);
2023-10-21 06:10:33 +01:00
bd69ad6739 [+] IPCPipe::ToFileStream
[+] IPCPipe::ToStreamReader
[+] IPCPipe::ToStreamWriter
2023-10-20 16:33:18 +01:00
871479172b [+] AuIPC::NewPipeEx(AuUInt32 uPipeLength) 2023-10-20 10:48:10 +01:00
513a7aec7e [+] AuProcesses::StartupParameters::ntLikeHookCreateProcessW 2023-10-18 04:55:56 +01:00
fc4c1054c3 [+] AURORA_RUNTIME_BAD_PLATFORM_FORCE_FUTEX_MUTEX_SEMAPHORE_IN_CLIENT 2023-10-17 12:17:59 +01:00
685bc92a94 [*] 2x RNG QOL improvements.
[+] ...AuRNG alias
[+] ...implicit RandomDef ctor by u32 and u64
2023-10-17 11:35:44 +01:00
8fd4ef0a71 [*] Allocless RNG devices 2023-10-17 10:03:15 +01:00
95643d6e19 [+] ICompressionStream::GetLastErrorString
[+] ICompressionStream::GetLastError
2023-10-17 09:28:58 +01:00
fe36ee5fb2 [+] AuMemory::SetLeakFinder 2023-10-17 08:46:08 +01:00
358964efb0 [+] IIOPipeEventListener::OnPipeFailureEvent 2023-10-16 01:56:28 +01:00
240685f7a6 [+] ISocketChannel::GetNextFrameTargetLength
[+] ISocketChannel::SetNextFrameTargetLength
2023-10-16 01:48:09 +01:00
cb60e77c63 [+] IIOPipeWork::SetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::ReallocateLater
[+] IIOPipeWork::GetSuccessfulReallocations
[+] IIOPipeWork::GetFailedReallocations
[+] IIOPipeWork::DidLastReallocFail
(will save net and engine from doing its their current hacks)
2023-10-16 01:47:22 +01:00
529eba18c7 [+] IAuroraThread::GetThreadCreationTime 2023-10-13 21:43:59 +01:00
be60d2c80d [+} NewMemoryViewReadAdapter
[+] NewMemoryViewLinearSeekableAdapter
[+] NewMemoryViewWriteAdapter
2023-10-13 21:08:57 +01:00
4a0eeefe1b [+] AuFS::MoveDirectory 2023-10-13 18:11:49 +01:00
c52c1c89f1 [+] AuFS::CopyDirectory 2023-10-13 18:04:47 +01:00
d48d6ce08d [*] You should be marked as no return 2023-10-11 05:19:14 +01:00
33f77cf011 [+] Aurora::Process::GetBinaryClassPath
[+] Aurora::Process::SetBinaryClassPath
[+] Aurora::Process::AddBinaryClassPath
[+] Aurora::Process::LoadModuleEx
[+] Aurora::Process::GetProcHandle
[+] Aurora::Process::GetProcAddressEx
[+] Aurora::ProcessConfig
[*] Cleanup a bit
2023-10-11 01:11:57 +01:00
709a95cee1 [*] fix busted init once 2023-10-10 19:16:04 +01:00
48c2175be9 [+] IProtocolStack::AppendInterceptorDynamicBuffer
[+] IProtocolStack::PrependInterceptorDynamicBuffer
[+] IProtocolStack::PrependSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::AppendSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::IsValid
[+] IProtocolPiece::ExchangeMaximumBufferLength
2023-10-07 20:25:43 +01:00
5c29787f9c [*] Bug fixes 2023-10-07 20:04:47 +01:00
16f7d985fc [+] Missing read/write AuByteBuffer by views 2023-09-30 11:44:13 +01:00
f0ae1659b6 [*] Declaring some future proofing in AuTime::tm for the Epochs and Calendar patch 2023-09-29 01:05:38 +01:00
522def0a85 [*] I'm going to be autistic and say "everybody" is (read: industry midwits are) wrong about dates
(amend comments)
2023-09-28 18:29:28 +01:00
635f9e39e9 [*] Modernize IOBufferedProcessor (and moved to the io utility namespace)
[+] AuIO::Utility::NewBufferedProcessorEx
[+] AuByteBuffer::calcDifferenceBetweenHeadsUnsigned
[+] AuByteBuffer::calcDifferenceBetweenHeadsSigned
2023-09-28 12:38:01 +01:00
742c0495d8 [+] SysCheckArgNotNull
[*] finally fix SysPushErrorSyntax
2023-09-28 12:09:27 +01:00
5555e99488 [*] Move NewByteBufferPair, NewByteBufferPairEx, and NewRingByteBuffer to AuIO::Utility 2023-09-28 11:51:46 +01:00
3c8442d8ce [+] Added NetSocketConnectBase
[*] ded60591 cont
2023-09-23 19:33:08 +01:00
ded605910f [*] Refactor AuNet::NetSocketConnect 2023-09-23 17:10:00 +01:00
7e9bfd8215 [*] Move/refactor AuIO adapters to Aurora::IO::Adapters 2023-09-23 16:40:13 +01:00
828430889c [+] IIOHandle::SectionLock
[+] IIOHandle::SectionUnlock
[*] FileSteam.NT.cpp clean up
2023-09-23 04:48:48 +01:00
0a1db024e8 [+] QueryClockTimeNS
[+] QueryClockTimeFrequency
2023-09-23 02:28:06 +01:00
dfecf10f1d [*] All CivilTime APIs should just use ETimezoneShift 2023-09-22 06:21:50 +01:00
f6437ef66e [-] Engine 0.0/1.0 async 2023-09-22 06:07:03 +01:00
7739652ad3 [*] Minor include header improvements 2023-09-22 00:46:51 +01:00
7da39d2022 [+] Aurora::IO::Protocol::NewProtocolStackFromDescription
[+] Aurora::IO::Protocol::UtilityWrapStreamReaderWithInterceptors
[+] Aurora::IO::Protocol::EProtocolStackCreateType
[+] Aurora::IO::Protocol::ProtocolStackByBufferedAdhoc
[+] Aurora::IO::Protocol::ProtocolStackByBuffered
[+] Aurora::IO::Protocol::ProtocolStackByPipe
[+] Aurora::IO::Protocol::ProtocolStackDescription
2023-09-21 08:02:02 +01:00
f310fa9aae [+] AuTime::GetClockUserAndKernelTimeNS 2023-09-20 22:51:59 +01:00
f59de8b4ae [*] Two typos and change bPreferEmulatedWakeOnAddress to true under NIX 2023-09-20 18:32:02 +01:00
0f62b03da0 [+] AuFutexBarrier::EnterTimedEx 2023-09-20 17:32:17 +01:00
d123850ac0 [+] AuThreads::Spawn 2023-09-20 17:28:36 +01:00
7efde62c3c [+] AuFutexBarrier 2023-09-20 05:18:50 +01:00
42a8218916 [+] AuInitOnce::TryCall 2023-09-20 04:10:53 +01:00
595846cb75 [*] MSVC isn't always inlining lock guards 2023-09-19 02:49:48 +01:00
ff0e32ce02 [*] Improve AuInitOnce API with an 8 byte variant and a locker API
[+] AuInitOnceSmall
2023-09-17 15:42:38 +01:00
d2bf01ffa3 [*] InitOnce should be marked final, even though we cant strip those 8 vtbl ptr bytes 2023-09-17 15:08:48 +01:00
afa2cb5944 [+] AuInitOnce 2023-09-17 13:26:37 +01:00
f2339bb0a9 [+] AuIO::Loop::NewLSIOHandle(const AuSPtr<IIOHandle> &pHandle)
[-] Rip 2021-10-1 LSCondVar
2023-09-16 22:59:26 +01:00
f13efd0cbf [+] AuProcesses::IProcess::GetOutputAndInputHandles()
[+] AuProcesses::IProcess::GetErrorStreamHandle()
2023-09-16 22:08:10 +01:00
6c5e99ba8f [-] ...an api that shouldn't exist anymore 2023-09-16 21:12:50 +01:00
5727acfe55 [*] AND'd waterfall failures 2023-09-16 18:07:37 +01:00
e3a493bf9c [+] const AuList<AuString> &AuCmdLine::GetValues(const AuString &key) 2023-09-15 20:12:01 +01:00
f1e9aa1d22 [+] AuAsync::DispatchOn 2023-09-15 16:49:48 +01:00
addd4080b2 [*] Adjust PId_t::pool null behaviour 2023-09-15 16:48:55 +01:00
a80524d573 [-] AuProcesses::EStandardHandle 2023-09-15 15:55:46 +01:00
db8db7b0cc [+] Secret visible symbol: Aurora::Win32Open/AuWin32Open 2023-09-13 15:35:09 +01:00
b4d5f4c127 [+] AuIO::IO::EStandardStream
[+] AuIO::IOHandle::InitFromStreamEnum(...)
2023-09-13 02:50:59 +01:00
d661363247 [*] Not deprecated enough 2023-09-12 21:31:34 +01:00
bf03124f92 [+] AuThreading::TryWait 2023-09-12 18:47:25 +01:00
8e54071d60 [-] Remove 2 year old 0.0 WaitFor back-off implementation 2023-09-12 18:30:45 +01:00
f08f4a476a [*] Ehhh. I never liked how I implemented the fallback for MS absolute waits.
We should calculate it via a delta between current NS time to avoid NS/MS clock overflows.
Some platforms and points in time may be more resistant than others. Let's assume monotonic time could be really high, this should help mitigate some bad math and branching caused by timeout overflows caused by stupid MS-precise abs waits (not sure why people would favour these over abs ns)
2023-09-12 17:10:51 +01:00
74dc6772b0 [+] Non-mutually exclusive binary semaphore / event wait path
[+] ThreadingConfig::gPreferFutexEvent
2023-09-10 14:50:59 +01:00
48dc2e790b [+] IEvent::TrySet()
[+] New atomic logic for AuEvent. With this change, I can stop slandering it as the "shit primitive."
(it's still not the best it could be, but it's an improvement over what i had before)
2023-09-10 14:04:00 +01:00
cea3362186 [*] Finally fixed an old regression: RWLock is back to being write-biased to prevent forever-read conditions 2023-09-09 13:03:02 +01:00
36a72228db [*] Cleanup/formatting of SMT yields 2023-09-06 17:01:01 +01:00
3d8dd991e0 [*] Adjust non-AURORA_RUNTIME_FORCE_ADAPTIVE_FUTEX futexes 2023-09-06 16:08:41 +01:00
de25694416 [*] bonk (use AuAXXX atomics) 2023-09-02 04:55:43 +01:00
af8737e9d2 [*] 32bit builds can run on 64bit systems 2023-08-30 12:36:59 +01:00
627cdd069f [+] AuOptional<AuUInt> Aurora::HWInfo::GetSwapSize()
[+] AuOptional<AuUInt> Aurora::HWInfo::GetPhysicalSize()
utils
2023-08-30 01:37:49 +01:00
47cec914cb [*] Refactor FIOConfig::ddefaultBrand -> (AuOptional) FIOConfig::optDefaultBrand
[+] FIOConfig::bIsIntranetTrusted
2023-08-29 21:10:53 +01:00
b5a452a43d [+] AuFS::IsFileBlocked
[+] AuFS::IsFileTrusted
2023-08-29 20:30:09 +01:00
47cccd0490 [+] Absolute Win32 version checks
[+] bool AuSwInfo::IsWindowsXP()
[+] bool AuSwInfo::IsWindowsXPSP1()
[+] bool AuSwInfo::IsWindowsXPSP2()
[+] bool AuSwInfo::IsWindowsXPSP3()
[+] bool AuSwInfo::IsWindowsXPAny()
[+] bool AuSwInfo::IsWindowsVista()
[+] bool AuSwInfo::IsWindowsVistaSP1()
[+] bool AuSwInfo::IsWindowsVistaSP2()
[+] bool AuSwInfo::IsWindowsVistaAny()
[+] bool AuSwInfo::IsWindows7()
[+] bool AuSwInfo::IsWindows7SP1()
[+] bool AuSwInfo::IsWindows7Any()
[+] bool AuSwInfo::IsWindows8()
[+] bool AuSwInfo::IsWindows8Point1()
[+] bool AuSwInfo::IsWindows8Any()
[+] bool AuSwInfo::IsWindows10()
[+] bool AuSwInfo::IsWindows11()
2023-08-29 16:12:13 +01:00
3503d0ec68 [+] Added Linux signal configuration and separate LinuxConfig type (LinuxConfig)
[*] Fix Linux regressions in previous NT commit
2023-08-29 03:11:28 +01:00
ac0981ac1b [+] bool IsHandleFile(AuUInt uHandle)
[+] bool IsHandleTTY(AuUInt uHandle)
[+] bool IsHandlePipe(AuUInt uHandle)
...as opposed to forced IOHandle usage
[+] AuIOHandle
[+] AuSharedIOHandle
2023-08-29 01:37:25 +01:00
55c02d4aa0 [*] Tweak default thread config
[*] Fix regressions
2023-08-28 11:48:13 +01:00
209d1939aa [*] Tweak default thread config 2023-08-27 21:27:49 +01:00
97296d1fe9 [*] ThreadingConfig::bPreferEnableAdaptiveSpin 2023-08-27 20:26:36 +01:00
8fe2619673 [*] Rework SMT yielding 2023-08-27 19:56:22 +01:00
b8458990c9 [*] Amend a41a2719 2023-08-27 18:25:04 +01:00
4674f45dd3 [*] Support for further Win32 API degradation / historical OSes / emulators 2023-08-27 17:43:29 +01:00
5cf7533eab [*] Linux and UNIX QOL 2023-08-27 12:42:10 +01:00
9bd05a0752 [+] HashStream SOO
[+] HashSteam extension padding for future use
2023-08-26 21:32:49 +01:00
a41a27198e [*] zoom 2023-08-26 21:11:27 +01:00
87c3ac790d [*] FutexCondWaitable::NotifyOne was bothering me 2023-08-26 18:43:57 +01:00
346a9f3bde [*] More aggressively wake up reorder prone (unlikely) condvars under broadcast (unlikely) 2023-08-26 15:56:59 +01:00
3898a41198 [*] Adopt new ROXTL atomics
...AuAtomicLoad + AuAtomicClearU8Lock
2023-08-23 22:03:00 +01:00
921fee1b8d [+] IAuroraThread::SetNoUnwindTerminateExitWatchDogTimeoutInMS 2023-08-23 17:01:56 +01:00
412630077d [+] ThreadingConfig::bPreferWaitOnAddressAlwaysSpin 2023-08-23 16:45:08 +01:00
d79cb4f3ca [*] RWLock: WakeOnAddress optimization on wait to prevent mutex congestion on modern OSes 2023-08-23 15:37:55 +01:00