8272959249
[*] Further compress
2023-03-22 13:42:07 +00:00
82d455c4b1
[+] AuTime::EClock
...
[+] AuTime::IClock
[+] AuTime::GetWallClock
[+] AuTime::GetProcessClock
[+] AuTime::GetSteadyClock
[+] AuTime::GetClockFromEnum
[*] Rename Timer -> Stopwatch
[*] Refactor a serial AuString to a string view
(*amended year)
2023-03-21 10:26:16 +00:00
6974c713f7
[+] Allocationless thread primitives
...
[*] Rename SMPYield to SMTYield
2023-03-21 03:19:22 +00:00
5d8f4e6901
[*] Further optimize
2023-03-17 15:41:05 +00:00
a1f4614316
[*] i see a possible bug
2023-03-16 22:18:52 +00:00
1476307a60
[*] Force this optimization under nonship builds
2023-03-16 19:24:05 +00:00
e5981a5747
[*] Reintroduce the older implementation based on Vista sync primitives when best implementation under NT 5.1 apis isn't available (microsoft being cunts under the false guise of sandboxing xbox and uwp)
2023-03-16 18:25:23 +00:00
02684d543e
[*] New NT mutex should carry the fail under this unlikely path
2023-03-16 17:33:29 +00:00
2863d2c910
[*] pls do a zoomie
2023-03-15 17:54:59 +00:00
b4b7e4a083
[*] Repressing these vtables helps us get our time to wake down
2023-03-15 16:53:43 +00:00
89057139b3
[*] Further work on the legacy NT primitives
...
(can still be improved, optimized, and bug fixed)
(will add a build toggle between the old SRW and this)
(...and ironically it seems like our time to wake times are worse now)
2023-03-15 16:13:09 +00:00
0ad854284e
[*] NT Condvar: Clean up
2023-03-15 08:43:46 +00:00
49bfecee32
[*] i need sleep and i broke the core primitives
2023-03-15 08:30:21 +00:00
f354a202ad
[*] i forgot to remove this member and we took a massive sizeof hit for it
2023-03-15 03:23:17 +00:00
f24a1c1924
[*] im not even going to switch to a cross arch to assume this isnt going to compile
...
(actually it looked even worse under compiler explorer. this patch is much better)
2023-03-15 03:12:10 +00:00
e88718a48b
[*] Windows 7 optimization [?]
2023-03-15 02:38:26 +00:00
2fc4564f5d
[*] Amend legacy primitive
2023-03-15 01:03:42 +00:00
13028d767b
[*] Cleanup optimization commit
2023-03-15 00:48:37 +00:00
046b70d7bc
[*] [Pre-Win8.1] Optimize for modern nt instead of windows vista synch in legacy path; yes, this is how windows 7 and vista synch is somewhat implemented.
...
...on apis that predate those kernel revisions. so, technically this might be able to run on xp.
[*] GetThreadCookie optimization for all platforms
2023-03-15 00:35:29 +00:00
14c7d538e1
[*] Fix up modern WakeOnAddress fast path, of, well, WakeOnAddress
...
[*] Clean up AuEvent
[*] Dropped default spin power
2023-03-13 23:57:32 +00:00
2745ef23a0
[+] Brotli [de]compressor
2023-03-12 21:03:47 +00:00
1ba0519d8d
[*] Amended UNIX yield paths
2023-03-12 20:59:03 +00:00
e82ec4a343
[+] IWaitable::LockNS(...)
...
[+] AuThreading.WakeAllOnAddress
[+] AuThreading.WakeOnAddress
[+] AuThreading.WakeNOnAddress
[+] AuThreading.TryWaitOnAddress
[+] AuThreading.WaitOnAddress
[*] Further optimize synch primitives
[+] AuThreadPrimitives::RWRenterableLock
2023-03-12 15:27:28 +00:00
64af4d0fa8
[+] AuAsync::IThreadPool::PollAndCount
...
[+] AuAsync::IThreadPool::RunAllPending
2023-03-05 12:55:07 +00:00
a550a6f58f
[*] Harden normalize path
2023-03-05 09:16:09 +00:00
3e7e5e769a
[*] Selection key spam crash bugfix
2023-02-17 22:27:24 +00:00
eb13a3c0d1
[*] Added missing signal redraws
2023-02-17 20:44:01 +00:00
fc097de2da
[+] Initial unified handling of control, shift, selection, backspace handling under ConsoleTTY
2023-02-17 19:42:30 +00:00
d2ad4cd10d
[*] Solve another deadlock race condition under SysShutdown
2023-02-17 04:44:17 +00:00
eb4e40d548
[*] Updated deinit
2023-02-16 18:44:28 +00:00
7223071877
[*] Updated EP
2023-02-16 18:30:56 +00:00
88b0270435
[+] Broke out NT LoadLibrary
s to a dedicated root AuProcAddesses.[NT.]hpp
2023-02-16 16:01:21 +00:00
c4fae31057
[*] Another shutdown "fix"
2023-02-16 01:01:21 +00:00
1cd2d82093
[*] Fix shutdown races under V8 + JS + Gtk branch
2023-02-16 00:45:10 +00:00
9d71b5c04f
[*] Found another race condition
2023-02-11 19:37:30 +00:00
ba9ddded75
[*] fix crash in an empty unit test on deinit
2023-02-09 19:28:01 +00:00
25ffeec543
[*] Revert last commit. Doing the correct thing just resulted in the console not being flushed 100% of the time.
...
Oh well, i'll investigate later. This should help.
2023-02-09 13:08:13 +00:00
cb920e1ee1
[*] Win32: Delegate last nights hack before bed to grug
...
(unix parity)
2023-02-09 12:37:32 +00:00
76069f2b43
[+] Win32: updated exit handler to include the exit button and shutdown
2023-02-09 00:53:12 +00:00
fa9f190635
[+] Missing Win32 exit handler. I was dumb enough to rely on the debug exception
...
[*] ...no this wont do for now
2023-02-09 00:42:56 +00:00
8293484a86
[*] Reworked AuAsync ThreadPool shutdown (again)
...
[*] Fixed nested lock under WorkItem
2023-02-08 18:23:37 +00:00
75c37f4e55
[*] Fix consoletty (the console) and the thread racing on exiting causing a deadlock
2023-02-06 05:14:01 +00:00
8b6c93fba9
[*] Fix: ThreadPool::ResolveHandle throws null
2023-02-06 04:07:54 +00:00
013c1a00bd
[*] Updated ConsoleFIO for the first time in a very long time
2023-02-05 14:28:03 +00:00
1e4971342d
[*] big dumb
2023-02-04 19:46:35 +00:00
f43251c8fc
[+] AuNet::ISocketChannelEventListener
...
[+] AuFS::UpdateTimes
[+] AuFS::UpdateFileTimes
[+] AuFS::CompressEx
[*] AuFS::Compress now rejects files that look to be already compressed
[+] AuFS::DecompressEx
[+] AuFS::Create
[+] AuFS::WriteNewFile
[+] AuFS::WriteNewString
[+] AuFs::FileAttrsList
[+] AuFs::FileAttrsGet
[+] AuFs::FileAttrsSet
[+] DirectoryLogger::uMaxLogsOrZeroBeforeCompress
[+] ISocketChannel.AddEventListener
[+] ISocketChannel.AddEventListener
[+] DirectoryLogger.uMaxLogsOrZeroBeforeCompress
[*] Fix UNIX regression
[*] Fix up stream socket channel realloc IPC
[*] Fix shutdown regression in pretty much everything thanks to 8ff81df1's dumbass fix
(fixes fence regression on shutdown)
[*] Fix DirDeleterEx formatting of reported failed paths
[*] Fix up file not truncated if already exists bugs. Extended and alternative apis added.
[*] Fix ICompressionStream::ReadEx returning the wrong read value
[+] Legacy compression API can now self-correct once newer stream processor objects are added
2023-02-04 19:43:01 +00:00
7d46679969
[*] Fix RWLock regression in previous commit: ( 8ff81df1
)
...
...despite being under lock for lock paths, we now need everything to be atomic.
[*] ...fixed monotonic timeouts under rwlock
2023-01-30 16:48:40 +00:00
8ff81df129
[*] Fix deadlock involving WaitFor under ThreadPool (shutdown race)
...
[*] Optimize mutex lock out of RWLockImpl::TryLockWrite
[*] Force all relevant members of RWLockImpl to be volatile just bc lol (afaik we cant justify it yet; however, i want to minimalize the risk of future issues in this type)
2023-01-30 14:35:48 +00:00
51a2816f3f
[*] Merge GTK JS's branch fix for async shutdown
...
[+] IConditionMutex::TryLock()
... Timed is still too much of an ask for this interface, i think. There's a good reason as to why this isn't a iwaitable. This condvar interface must be as common and primitive as possible.
2023-01-30 13:26:17 +00:00
2474566d80
[*] two hotfixes
2023-01-29 23:03:54 +00:00
04aca5fcf2
[+] Aurora::IO::Net::NetSocketConnectByHost
...
[+] Aurora::IO::FS::DirDeleterEx
[+] Aurora::IO::Compress
[+] Aurora::IO::Decompress
[*] Aurora::Memory::ByteBuffer zero-alloc fixes
[*] Aurora::Memory::ByteBuffer linear read of begin/end should return (`const AuUInt8 *`)'s
[*] Changed NT file CREATE flags
[*] Fix linux regression
[*] Update logger sink DirLogArchive
... [+] DirectoryLogger::uMaxLogsOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeDelete
[*] FIX: BufferedLineReader was taking the wrong end head
(prep) LZMACompressor
[*] Updated build-script for LZMA (when i can be bothered to impl it)
(prep) FSOverlappedUtilities
(prep) FSDefaultOverlappedWorkerThread | default worker pool / apc dispatcher / auasync dispatcher concept for higher level overlapped ops
(stub) [+] Aurora::IO::FS::OverlappedForceDelegatedIO
(stub) [+] Aurora::IO::FS::OverlappedCompress
(stub) [+] Aurora::IO::FS::OverlappedDecompress
(stub) [+] Aurora::IO::FS::OverlappedWrite
(stub) [+] Aurora::IO::FS::OverlappedRead
(stub) [+] Aurora::IO::FS::OverlappedStat
(stub) [+] Aurora::IO::FS::OverlappedCopy
(stub) [+] Aurora::IO::FS::OverlappedRelink
(stub) [+] Aurora::IO::FS::OverlappedTrustFile
(stub) [+] Aurora::IO::FS::OverlappedBlockFile
(stub) [+] Aurora::IO::FS::OverlappedUnblockFile
(stub) [+] Aurora::IO::FS::OverlappedDelete
2023-01-26 21:43:19 +00:00
bf8c1eb8c7
[+] AuFS::TrustFile
...
[+] AuFS::UnblockFile
[+] AuFS::TrustFile
[*] Fixup UNIX open logic a bit
(amended. i did not mess up octals >:( )
2023-01-25 16:50:53 +00:00
d4dfe22c6c
[+] Always expand directory tree when attempting to copy or move files, just like every other FIO create operation.
...
[*] ~~Fix improper yield BlockUntilComplete on NewFence~~, kind of, not really. Wasn't really a bug. Might've introduced more overhead. Might revert.
2023-01-23 21:18:58 +00:00
d780df6ceb
[*] Transition legacy pre-steady clock calls to steady time
...
[*] Improved e-core throttling logic under systems without ecores
2023-01-23 15:27:58 +00:00
124038df62
[*] Refactor public headers
...
[+] AuConsole::Commands::RemoveCommand
[+] EExtendedUsage::eServerAuth
[+] SysPanic2 for SysSafeLine hints (backtrace may contain optimized SysPanics, making tracing the true origin difficult)
[*] Reworked SysAssertions
[*] AuParse::EncodeHex now takes AuMemoryViewRead
[*] AuRng::ReadSecureRNG now takes AuMemoryViewWrite
[*] AuRng::ReadFastRNG now takes AuMemoryViewWrite
2023-01-15 06:05:22 +00:00
fbca5f22c5
Regression in: d1451142
2022-12-29 21:02:58 +00:00
0cdbc34c06
[*] Optimize allocations out of RWLock
...
[*] Fix linux regression
2022-12-29 09:42:02 +00:00
d14511429a
[*] Optimize event primitive
2022-12-29 00:02:56 +00:00
2209aeb7a8
[+] Linux: semaphores and mutexes directly over futexes. Move UNIX pthread condvar mutex into the condvar mutex class.
...
[*] BSD: Rewrote fundamentally flawed pthread_mutex class code to use MONOTONIC clock time
[+] Linus SwInfo: Added enterprise check for RedHat
2022-12-28 23:44:45 +00:00
87194ac1ea
[+] Linux: add missing parse for uUserlandXXX version numbers for non-rolling distros.
...
[+] Fallback /usr/lib/os-release file reference
2022-12-28 21:14:52 +00:00
dcc9205ea6
[+] IRandomDevice::ToSeed()
2022-12-28 20:30:15 +00:00
dbbcd14b57
[*] Optimize for Win8.1 scheduler that can bypass SRW CVs
...
[*] Update readme
2022-12-28 10:50:30 +00:00
6e78ce5e07
[*] UNIX benchmarks: follow CLOCK_PROCESS_CPUTIME_ID time
2022-12-27 19:41:52 +00:00
0be7c13e1b
[*] consoletty pos calculation fix
2022-12-27 15:17:34 +00:00
15c7df1480
[*] Disable telemetry reporting after runtime shutdown to prevent null exceptions from being reported under TLS. Fixes deadlock and a crash.
2022-12-21 23:37:41 +00:00
a1e77a471b
[*] Dumb path bug
2022-12-21 14:27:26 +00:00
4e6f116925
[*] Refactor
...
[+] IProcessSectionView::GetStart
[+] IProcessSectionView::GetEnd
2022-12-17 20:14:19 +00:00
9ce314a838
[*] Linux DirMks shall copy the stat of the parent dir before assuming 775.
...
[*] Added missing null allocation checks under linux net adapter list
2022-12-17 15:37:46 +00:00
6f6be5c545
[+] Linux: missing AuNet adapter API
...
[*] Update README
2022-12-17 13:57:00 +00:00
1e4082c02f
[+] Linux datagrams
...
[+] NetSocketBind::uDefaultInputStreamSize
[+] NetDatagramBind::uDefaultInputStreamSize
2022-12-16 17:18:12 +00:00
42d02b185c
[*] Linux fault: LTC/Clang driver bug? _multi encode variant results in inexplicable given a SEQUENCE after seemingly anything.
...
Faults on bool deref under encode boolean.
2022-12-16 07:04:11 +00:00
f0fcec0cb7
[+] _CLOEXEC on F-tier operating systems predating SMP and processes
2022-12-16 03:48:04 +00:00
766be57a46
[+] Linux build [again]
...
[+] ProcessSectionViewReserved.Unix.cpp
[*] Fix missing ::Flush() member on ViewWriter
2022-12-16 00:41:01 +00:00
2b91302128
[*] remove half-removed expression and readd missing cache clear
2022-12-15 01:54:49 +00:00
85a575eb95
[+] Network interfaces API
...
[+] Logger IFormatter API
[*] Clean up
2022-12-14 20:08:52 +00:00
c79a20c7fe
[*] i hate object cache
2022-12-14 07:12:43 +00:00
c42ebc9853
[*] Improved cache reporting under NT under various conditions
...
new hw: return upper bound of range at level index.
old sw: missing impl.
2022-12-14 05:25:05 +00:00
49287f2a73
[*] Minor cleanup/refactor
2022-12-14 05:03:37 +00:00
cbad382b6a
[+] Windows 7 support
2022-12-14 01:35:18 +00:00
267c2216b0
[+] UDP over socket API via existing INetSrvDatagram layer
...
(...missing send)
[+] AuIO::Buffer::ViewReader
[+] AuIO::Buffer::ViewSeekableReadable
[+] AuIO::Buffer::ViewWriter
[*] Clean up AuCompression
[*[ AuLog messages must always crunch for memory
[*] Various bug fixes
[*] Refactor+clean up
2022-12-12 23:50:05 +00:00
6dfa806e3a
[+] (NT only) Missing numpad and math keys input under ConsoleStd noncan APIs
...
[*] Refactor NoncanonicalInput
[*] Fix various keys resort in NUL getting added to ConsoleTTYs input field
[*] Fix multichar right key input (finish TODO note)
[*] Hex grammar: literals may end with 'h' now that i think about it. also added wiresharks seperator. let's continue to simply make sure we cover all forms of hex in a reasonably liberal fashion to account for user input from various human written and software form.
(Nonuniform style of non-hex illegal chars are fine so long as it looks and reads like a legal array of hex characters. Comas must come directly after literals, possible [0x] prefixes are fine, whitespaces too, copy/pasted '[', ']', '{', '}', 'reasonable' new line rejection, etc)
2022-12-09 22:59:03 +00:00
39ef196c0a
[*] Modernize legacy compression API Compress
2022-12-09 01:19:25 +00:00
1ff9feb303
[+] Initial heap stat counter API
...
[+] Upcoming failure categories
[+] Updated SysPushXXX prototypes
[*] Restore bandwidth OnTick position for extrapolate (using current frame stats, ref to last) fractional lerps into the future with ref to average
[*] Compression.cpp AuList<AuUInt8> upgrade was incomplete & could've been improved with modern apis
2022-12-08 19:34:15 +00:00
1b26faf45a
[+] configurable memory allocator padding
2022-12-07 16:20:13 +00:00
73e77d0a97
[*] Fix use after free in termination path of heap. cannot safely use try lock in this one single place.
2022-12-07 11:38:10 +00:00
1f1d1bbc28
[+] Added AuDebug::MemoryCrunch implementation under debug and memory
2022-12-07 01:37:42 +00:00
7be2d3fbdc
[+] AuUtility::ThroughputCalculator
...
[+] AuNet::ISocketStats
[+] AuNet::ISocketChannel::GetRecvStats()
[+] AuNet::ISocketChannel::GetSendStats()
[+] AuIO::IOProcessor::RunTickEx(AuUInt32 dwTimeout)
[*] Refactor clock APIs
[+] Documentation in headers
[+] AuIO::IIOPipeWork::GetStartTickMS()
[+] AuIO::IIOPipeWork::GetLastTickMS()
[+] AuIO::IIOPipeWork::GetPredictedThroughput()
[+] AuIO::IIOPipeWork::GetBytesProcessed()
2022-12-06 22:58:15 +00:00
fe3db644bd
[*] amend label pos
...
[*] always zero pointer fields in bytebuffer (early reset on uninitialized field -> crash)
[*] solve known deflate quirk
2022-11-30 11:53:43 +00:00
89d341b4fc
[+] AuDebug::ErrorStack / AuErrorStack
...
[+] Begin stubbing out memory crunch apis
[*] Fixed MT consoletty missed flushes
2022-11-30 11:11:18 +00:00
72dc0d715e
[*] Begin enforcing steady time
...
[+] IOProcessor::WakeupThread
[+] NT: Begin hacking in timeBeginPeriod (must spam it in some places)
[+] ConsoleTTY (more specifically the win32 calls) are too slow to run on the mainthread. Delegate to worker.
[*] AuTime.CurrentClockSteady
[*] AuTime.CurrentClockSteadyMS
[*] AuTime.CurrentClockSteadyNS
2022-11-28 16:01:08 +00:00
bb9c383aee
[+] ICompressionInterceptor::LimitPassthroughOnOverflow
...
[+] IOPipeRequest::uMinBytesToRead
[+] (secret api intended for unix users) AuIO::NewLSOSHandleEx
[*] Fix quirks when running Gtk under an io processor
...CtxYield shouldn't spin while work (improper breakout on remote update)
[*] EFileOpenMode::eWrite should assume O_CREAT semantics making eReadWrite somewhat redundant. OpenWrite + eWrite should reasonably work with file-appends. it should not mean force create + cucked GetLength().
2022-11-20 10:31:13 +00:00
033f7e2453
[+] Aurora::Crypto::X509::CertRequest
...
[+] Aurora::Crypto::X509::GenerateCertificate
[*] Fix lazily copied gen1 RSA code
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256R1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256K1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP384R1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP521R1
[*] Unfuck ECC interop
[*] Tls pinning: use mbedtls_ssl_conf_verify for tls1.3 (when mbedtls is in a better state)
2022-11-18 21:03:11 +00:00
d9dd1182b9
[+] TLS pinning
...
[*] ISocket::Shutdown(*bool bNow*), allowing for flush of the send channel when false
[*] Fix StartRead and StartWrite after shutdown (NT)
[*] Amended dead-lock
2022-11-18 04:44:47 +00:00
f86665fd36
[+] Net: TCP servers can now be multi-threaded
...
[+] Net: Added missing UDP send datagram
[*] IO bug fixes
2022-11-17 20:58:48 +00:00
898c0ced37
[*] Refactoring in progress...
2022-11-17 08:03:20 +00:00
673872f632
[*] Fix critical bug in rwlock (few commits ago. still havent updated submodules so its ok)
...
[*] IAsyncTransaction::uStartOffset should be u64
2022-11-09 00:33:14 +00:00
e145352920
[+] IProtocolStack::AppendSingleFrameProcessor
...
[+] IProtocolStack::AppendSingleFrameProcessorEx
[+] ICompressionInterceptor::FlushNextFrame
[+] ICompressionInterceptor::ConfigureAutoFlushPerFrame
2022-11-08 20:04:12 +00:00
745b9f974a
[+] ByteBuffer::WriteFromEx
...
[+] ByteBuffer::WriteFrom
[*] Fix known path resolution quirks and missing compression staged change
[+] ICompressionInterceptor::LimitHasHit
[+] ICompressionInterceptor::LimitReset
[+] ICompressionInterceptor::LimitSet
[+] ICompressionInterceptor::LimitGetIndex
2022-11-07 22:46:35 +00:00
07fd9f19f8
[+] NewProtocolStackFromPipe([...], bool bAutoTick)
...
[+] IOPipeRequestAIO::uStartOffset
[*] Fix Zstd frames being finicky
[*] Fix compression interceptor invalid weak reference to pipe that
[*] Fix WinFileStream::GetOffset using wrong enumeration
[*] Null ByteBuffer flags on init bc not all operators and constructors account for them
[will prevent bugs in the future]
2022-11-07 13:34:28 +00:00
d63571e4b5
[+] AuCompression::CompressionInterceptor
...
[+] AuCrypto::CBC::CBCContext
[+] AuFS::ReadDirRecursive
[+] AuFS::DirDeleter
[+] AuCrypto::PBKDF2
[+] AuCrypto::AES::CBCEncrypt
[+] AuCrypto::AES::CBCDecrypt
[+] AuCrypto::TDES::CBCEncrypt
[+] AuCrypto::TDES::CBCDecrypt
[+] Optimize read write locks
[*] Added `ContextFlags = CONTEXT_ALL` to Win32 PlatformWalkCallStack
2022-11-06 13:23:22 +00:00