Commit Graph

514 Commits

Author SHA1 Message Date
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
cbcd55ce8e [+] AuNet::ENetworkAdapterType
[+] AuNet::ENetworkAdapterStatus
[+] INetAdapter::ToNetworkType()
[+] INetAdapter::ToStatus()
2023-12-01 12:13:47 +00:00
507f418b81 [*] Attempt to optimize AuLoop::WaitMultipleLoopSources 2023-12-01 11:20:40 +00:00
b0a7417d6f [*] Local loopsources werent calling the parents OnTrigger 2023-12-01 11:02:15 +00:00
f05cafbff7 [*] Win32 loopqueue optimization 2023-12-01 10:36:47 +00:00
049de14090 [*] Ooops: acd8f6cf 2023-12-01 07:04:04 +00:00
c32022a8e4 [*] eb1ec8b7 (W32oW64 awareness) cont: WinXP regression 2023-12-01 06:20:39 +00:00
acd8f6cf0b [*] Win32: fast move directory 2023-12-01 06:14:03 +00:00
eb1ec8b763 [*] W32oW64 awareness 2023-12-01 02:21:58 +00:00
5ec28735ed [*] Improved AuProtocolStack API 2023-11-30 09:40:02 +00:00
52b49986f3 [+] ISocketServer::GetSessionCount 2023-11-30 02:40:30 +00:00
74b1e560bb [*] I needed 'eeep (amend previous two commits) 2023-11-29 23:38:03 +00:00
42beaeabf5 [*] AuFS::MoveDirectory -> Try remove dirs afterwards (should only succeed if empty. failure is ignored and reported to CopyDirResult) 2023-11-29 14:04:57 +00:00
dcf94a8b23 [+] (dummy!) ISocketServerLimits.hpp
[+] (dummy!) ISocketChannelLimits.hpp
[+] ISocketChannel::GetChannelLimits
[+] ISocketBase::GetLockedWorkerThread
[+] ISocket::GetSocketServer
2023-11-29 13:55:01 +00:00
9b74a623af [*] UNIX: Use O_EXCL if available
[*] UNIX: Try to open readable dirs
2023-11-11 13:32:31 +00:00
dcb27645a1 [*] bug: drop limitation in io processor
[*] attempting to mitigate freeze on remote start watch
2023-11-05 21:20:16 +00:00
01824d6589 [*] Caught Windows XP network iface regression 2023-10-30 15:42:15 +00:00
087bac4085 [+] AuByteBuffer::flagNoRealloc
[*] Fix IO regression / Critical Bug / Leak and stupid double free
2023-10-29 20:36:11 +00:00
59b30e47c0 [*] yea 2023-10-29 11:24:00 +00:00
54e8cf01c5 [*] clean up: I forgot these were a thing 2023-10-29 11:20:32 +00:00
17ca7a6bef [*] Added SMT yield down these paths 2023-10-26 17:25:40 +01:00
ec8f3b3f23 [+] INetAdapter::ToMacAddress
[+] INetAdapter::HasDHCP
[+] INetAdapter::GetMTU
2023-10-24 19:12:47 +01:00
4ce49941ff [+] SysCheckNotNullMemory
[+] SysCheckNotNull
[+] SysCheckRetExpNotNull
[+] SysCheckRetExpNotNullMemory
2023-10-24 17:43:00 +01:00
69188d8c1e [+] ICompressionStream::ToStreamReader 2023-10-24 17:14:54 +01:00
cca3ff73cb [+] Protocol stack: IOConfig::uProtocolStackDefaultBufferSize 2023-10-24 12:02:05 +01:00
efd4da861a [*] Protocol stack: harden these/check for out of memory 2023-10-24 11:59:55 +01:00
4b38f205d1 [*] oops i didnt just break the build 2023-10-23 12:38:29 +01:00
dfe6b468ec [*] protocol stack: hardening of buffer flags 2023-10-23 11:30:25 +01:00
08c37454fe [+] ENetworkError::eBrokenByteBuffer 2023-10-23 11:21:10 +01:00
72fd8d018e [*] a7af61e9 cont: Potential Win32 loop queue bug fixes/improvements 2023-10-23 10:21:31 +01:00
1f685b635b [+] ISocketStats::GetUptimeNS
[*] Some socket stat cleanup+fixes
2023-10-23 09:17:46 +01:00
a7af61e9bf [*] Potential Win32 loop queue bug fixes/improvements 2023-10-22 22:12:55 +01:00
fb1920ccba [*] Ensure the other fast paths work properly 2023-10-22 06:17:32 +01:00
591c0fe48b [+] ILSSemaphore::AddMany 2023-10-22 06:11:39 +01:00
3d01d6cc8f [*] Improve LSLocalSemaphore 2023-10-21 18:57:48 +01:00
a1a2d482d7 [*] everything before semaphore cast 2023-10-21 16:09:45 +01:00
f9916e0f21 [*] More NT Loop Queue fixes 2023-10-21 14:22:12 +01:00
5233dc7ac8 [*] NT fix pre/finish sleep out of balance
[*] Fix some more wait alls
2023-10-21 13:22:11 +01:00