Commit Graph

551 Commits

Author SHA1 Message Date
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
5668188945 [*] Harden IO handle interface 2024-03-31 09:26:56 +01:00
263ca6e646 [*] Amend FileStream::Close (232a136b) 2024-03-27 15:40:13 +00: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
782d788531 [*] Drop stupid write stream semantics 2024-03-22 13:57:39 +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
c54ac9d6a3 [+] AuFS::ReadFileHeader 2024-03-18 05:58:20 +00:00
81d7c7027c [*] Cont work on AuIOHandle cleanup 2024-03-16 09:51:41 +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
ccc4116394 [*] PosixShutup for AuProcesses::OpenXXXX and two minor bug fixes 2024-03-15 06:19:30 +00:00
b3f1ef8bc2 [*] Fix recent regression in f401c6f750 and fix two ignored return values 2024-03-14 01:22:20 +00:00
dbd2ec78b3 [*] harden dir traversal for removal 2024-03-13 10:08:38 +00:00
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
582b32ded9 [*] harden 2024-03-13 05:37:51 +00:00
2ba5ae6fa5 [*] Windows 10 LTSC / other branches crash on startup fix (missing FOLDERID_UserProgramFiles for some reason) 2024-03-12 04:32:45 +00:00
0f4a7bf8cb [*] Update GetSystemResourcePath to check package path before user rw directories 2024-03-11 21:22:24 +00:00
db1ff0cbf8 [*] Refactored FS resources to return AuOptional<const AuString &> 2024-03-11 21:05:03 +00:00
bd83945f4d [*] Update temp path/dir filenames 2024-03-11 17:14:59 +00:00
f401c6f750 [*] Update consistency in 895ef058 2024-03-11 17:13:27 +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
9a846a6d2f [*] Update IAsyncFileStream::NewTransaction 2024-03-09 01:12:57 +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
0a6c11d919 [*] Moved some source code to AuProcAddresses.UNIX.cpp 2024-03-05 18:37:44 +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
2163a58892 [*] Linux runtime regressions 2024-03-04 11:55:54 +00:00
bf398be94e [*] Missing explicit AuConstReference 2024-03-03 22:09:19 +00:00
b4f4e623d8 [*] Dumb 2024-03-01 16:55:19 +00:00
be9f47c4bb [*] dumb 2024-02-28 14:34:15 +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
ddebc422ed [*] Updated comments in IProtocolStack.hpp 2024-02-25 20:19:10 +00:00
78e0c2d442 [*] Let IOHandle own the sharing state (auto-call SharingStop on dtor) instead of leaking IPC sharable on copy 2024-02-25 19:50:19 +00:00
493f449d1d [*] Major Linux build regressions 2024-02-23 12:44:43 +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
39ba32df3c [+] AuNewClassArrayUnique
[+] AuNewClassArray
[+] AuNewClassUnique
[+] AuNewClass
[*] Unfuck/refactor GetDefaultDiscontiguousHeap
2024-02-13 03:18:13 +00:00
895ef05887 [*] Allow empty file creation via NULL memoryviews 2024-01-14 14:15:11 +00:00
363560e9e9 [*] Amended protostack api: ::GetParent() should not be using the internal type 2024-01-12 14:14:17 +00:00
ba66c25651 [+] ICompletionGroup::IsNeverEnding
[+] ICompletionGroup::SetNeverEnding
2024-01-11 12:19:54 +00:00
95adfe127d [*] eng-regression: introduce missing RuntimeWaitForSecondaryTick's 2024-01-09 05:08:54 +00:00
1e10d95b0b [*] Update TryAttachToCompletionGroup under NT file stream 2024-01-06 22:23:56 +00:00
3766ea8b86 [+] IAsyncTransaction::GetCompletionGroup
[*] IO improvements
2024-01-06 04:32:54 +00:00
6d77a55d75 [+] ICompletionGroup::WaitForAnyMS
[+] ICompletionGroup::WaitForAnyNS
2024-01-05 12:06:17 +00:00
3090fa3996 [*] Missed close handle / rushed sharing 2024-01-04 21:38:10 +00:00
72a3513a04 [+] New stream adapters
[+] IRandomDevice::ToStreamReader
[+] AuIO::Adapters::NewRandomAdapter
[+] AuIO::Adapters::NewNOPsReadAdapter
[+] AuIO::Adapters::NewNOPsSeekingAdapter
[+] AuIO::Adapters::NewNOPsWriteAdapter
[+] AuIO::Adapters::NewZerosReadAdapter
[+] AuIO::Adapters::NewZerosSeekingAdapter
2024-01-03 23:54:46 +00:00
aa811f93aa [*] Readd the public symbols to create base kernel io primitives for interop 2024-01-03 17:36:45 +00:00
ce1ae24506 [+] IIOHandle::InitFromSharing
[+] IIOHandle::SharingGetString
[+] IIOHandle::SharingIsShared
[+] IIOHandle::SharingStop
[+] HANDLEPipeServer.[h/c]pp
2024-01-03 02:39:54 +00:00
1c0efebd87 [+] AuLoop::DbgLoopSourceToReadFd
[+] AuLoop::DbgLoopSourceToWriteFd
2024-01-03 01:49:15 +00:00
81093fa2cd [*] Fixup Linux io timeouts (mixed ms/ns) 2024-01-02 07:55:06 +00:00
d199b52c0f [*] Improved support for completion groups when used with net streams 2024-01-02 07:06:42 +00:00
63050b2262 [+] IFileStream::IsFlushOnClose
[+] IFileStream::SetFlushOnClose
[+] IFileStream::IsWriteEoSOnClose
[+] IFileStream::SetWriteEoSOnClose
[+] IIOHandle::IsFlushOnClose
[+] IIOHandle::SetFlushOnClose
2024-01-02 00:00:47 +00:00
63f5ad3fd5 [*] Harden remove/relink 2023-12-30 19:40:00 +00:00
ab68f07bb9 [*] pt1/2 bug: dir logger whining 2023-12-30 19:40:00 +00:00
662dbac0c1 [+] IO completion groups 2023-12-28 16:49:11 +00:00
be2b781ed6 [*] mitigations and clean up before two major commits 2023-12-26 21:01:29 +00:00
ac33e6bb7f [*] you slimey rats dont get vtable exec that easily 2023-12-24 06:54:19 +00:00
c5656a8843 [+] WIP internal IO improvements (read: hacks) for Linux + bool IProcess::HasExited() 2023-12-24 06:24:39 +00:00
06f54968cd [+] Linux: missing io cancellations out of parity with Windows 2023-12-24 05:41:03 +00:00
a2c8f036e0 [*] 1576f56d cont (i messed up again) 2023-12-23 16:55:04 +00:00
1576f56d19 [*] Fix busted nt timeouts under loopsource waits 2023-12-23 08:03:59 +00:00
0faf4c7846 [+] Aurora::Processes::OutputOf
[+] Aurora::Processes::OutputOfAsync
[*] Fix win32 regression
2023-12-23 07:05:44 +00:00
bd6b70f215 [*] Win32 bug fix 2023-12-22 12:55:08 +00:00
24fec2301c [+] NtWaitForMultipleObjects awareness 2023-12-22 06:00:13 +00:00
66eca9ff8f [*] Exceptionless-API hardening 2023-12-22 00:22:43 +00:00
2570aea213 [+] Clang/Win32 compilation support 2023-12-19 03:43:11 +00:00
4dc2f94467 [*] Revert AuOptionalEx -> AuOptional change 2023-12-18 08:52:51 +00:00
414c736179 [+] ELoopSource expansion 2023-12-18 07:39:53 +00:00
22486b90e6 [*] NT: WaitMultipleLoopSourcesEx wasn't bypassing the wait cap 2023-12-18 07:35:24 +00:00
207b8f6f46 [+] Copyable IOHandles 2023-12-18 05:41:27 +00:00
9b99e6e7c7 [*] Harden IPC pipes 2023-12-16 21:08:46 +00:00
1652231fd4 [*] Refactor AuProcess (paths) 2023-12-13 18:11:35 +00:00
98d79a5aa3 [+] RuntimeWaitForSecondaryTick() 2023-12-13 04:43:29 +00:00
e7d8e5b010 [+] NT: Let Grug handle io handle closures 2023-12-13 02:46:06 +00:00
a3046658fe [*] Minor update to WaitMultipleLoopSourcesEx 2023-12-11 23:34:31 +00:00
073d77a17b [*] Harden IO processor item usage after parent processor release 2023-12-11 20:18:36 +00:00
5541c25050 [+] AuIO::Loop::WaitMultipleLoopSourcesEx 2023-12-10 22:25:03 +00:00
fc6902d231 [*] Refactor INetAdapter 2023-12-10 15:42:11 +00:00
76d3759295 [+] IProtocolPiece::GetPreviousPiece()
[+] IProtocolPiece::ReallocateSourceBuffer()
[*] IProtocolPiece::GetInputWriter()
[*] IProtocolPiece::GetNextWriter()
2023-12-10 14:06:10 +00:00
fe529b31da [*] ITimer comment and win32 patch 2023-12-09 12:25:46 +00:00
783bed0d85 [*] LSLocalEvent: finish optimized impl (?) 2023-12-09 11:10:02 +00:00
ae70feb29b [*] Removed static IAT lookups to WS2_32.dll 2023-12-07 11:13:32 +00:00
8944d8bd16 [+] IAsyncTimer
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
b35b290afd [+] File System devices API
[+] AuFS::EFSDeviceType
[+] AuFS::EFSBusType
[+] AuFS::LogicalUsedResponse
[+] AuFS::LogicalOffsetResponse
[+] AuFS::FSLogicalPartition
[+] AuFS::FSDevice
[+] AuFS::GetRootFromPath
[+] AuFS::GetDeviceFromPath
[+] AuFS::GetDeviceFromRoot
[+] AuFS::GetLogicalMountFromPath
[+] AuFS::TrySimplifyDevicePath
[+] AuFS::GetPerformanceBufferSizeFromPath
[+] AuFS::GetPhysicalSectorSizeFromPath
[+] AuFS::GetLogicalSectorSizeFromPath
[+] AuFS::GetLogicalUsedFromPath
[+] AuFS::GetLogicalUsedFromLogicalDevice
[+] AuFS::GetDeviceSizeInBytes
[+] AuFS::GetDeviceModel
[+] AuFS::GetFSDeviceByFilePath
[+] AuFS::GetFSDeviceByDevice
[+] AuFS::GetFSDevices
[+] AuFS::GetFSDevicesCachedUnsafe
[+] AuFS::ResetDeviceCache
[+] FSPlatformDevices.cpp
[+] FSPlatformDevices.NT.cpp
(holding back Linux)
2023-12-05 18:44:38 +00:00
e9651eead3 [*] Linux build regressons 2023-12-04 21:13:25 +00:00
e60e308087 [*] Minor WaitMultipleLoopSources optimization 2023-12-03 07:40:20 +00:00
baf31e32d0 [+] IFileStream::ToStreamReader()
[+] IFileStreamToStreamWriter()
[+] IProcess::ToStreamReader(EStandardHandle stream)
[+] IProcess::ToStreamWriter()
2023-12-02 18:05:49 +00:00
9fea60a9ed [*] 64ce35dd cont 2023-12-02 11:06:49 +00:00
64ce35dd87 [*] Cont work on WaitMultipleLoopSources's yield time 2023-12-02 03:39:41 +00:00
aadca8058e [*] Net: Globalize adapter cache 2023-12-01 15:02:27 +00:00
e0f74d6160 [+] ISocketServer::GetServerRecvStats()
[+] ISocketServer::GetServerSendStats()
2023-12-01 14:49:30 +00:00
81871ed0b8 [+] INetAdapter::GetTransmitBytesPerSec()
[+] INetAdapter::GetReceiveBytesPerSec()
2023-12-01 13:26:44 +00:00
eceb037e70 [*] WaitMultipleLoopSources optimizations cont 2023-12-01 12:31:09 +00:00
3f7f2639c4 [*] AuLoop: Fixed missing logic in a fast path 2023-12-01 12:16:47 +00:00