aboutsummaryrefslogtreecommitdiff
path: root/src/zencore
Commit message (Collapse)AuthorAgeFilesLines
* make sure we validate pointers returned from zen::Memory::Alloc (#341)Dan Engelbrecht2023-08-012-10/+30
| | | * make sure we validate pointers returned from zen::Memory::Alloc
* * Added Guid::FromStringStefan Boberg2023-06-3022-38/+490
| | | | | | | * Added LoadCompactBinaryObject from file to compactbinaryfile.cpp/h * Added SaveCompactBinary(BinaryWriter& Ar, ...) functions * Added ZEN_PLATFORM_NAME define * Added SystemMetrics functionality to query system properties (see zencore/system.h)
* Fix IsProcessRunning on Windows (#335)zousar2023-06-271-1/+12
| | | | IsProcessRunning on Windows would only consider if we could get a handle to a process. It is possible to get a handle to a process even if it is terminated in Windows. To actually know if the process is running, a further call to GetExitCodeProces is required. Addressing this issue ensures that the ZenServerState::Sweep method doesn't keep terminated processes in the state table.
* MakeCloneFromMemory should handle zero sized buffers gracefullyStefan Boberg2023-06-161-2/+9
| | | | we don't currently permit creating zero-length IoBuffer instances to prevent inefficiencies, but this can cause issues since some higher level code now ends up using it for things it was not originally intended for.
* xmake dependency fixesStefan Boberg2023-06-161-21/+2
| | | | | - curl is a dependency of zenhttp, not zencore - zencore only depends on crypto functions from openssl
* added GetProcessIdStefan Boberg2023-06-162-0/+11
| | | | this enables mapping the result of a CreateProc call to an integer pid
* Make sure GetEnvVariable can handle values that are longer than 1023 ↵Dan Engelbrecht2023-06-131-4/+18
| | | | characters (#332)
* added missing <utility> includeStefan Boberg2023-06-071-0/+1
|
* oplog snapshot (#317)Stefan Boberg2023-05-251-0/+42
| | | | | Added "snapshot" oplog RPC this may be used to bring referenced files into the local store instead of referencing them by filename, thus making the project/oplog transportable
* block destructors from throwing exceptions (#321)Dan Engelbrecht2023-05-242-3/+7
| | | | | | * ~FileMapping() is not allowed to throw exceptions * ~ScopedActivityBase() should not call ZEN_ASSERT (which causes SIGABORT on error) * ProjectStore::Project::WriteAccessTimes() which is called from ProjectStore::~Project() must not throw exceptions * changelog
* use exception when allocations fail rather than asserts (#319)Dan Engelbrecht2023-05-233-5/+34
| | | | * use exception when allocations fail rather than asserts * changelog
* streaming decompression support (#142)Stefan Boberg2023-05-238-29/+1000
| | | Added CompressedBufferReader support from UE. This provides some streaming decompression support which can be employed to reduce memory and other resource usage.
* MemoryView::RightChop -> constStefan Boberg2023-05-221-1/+1
|
* added benchmark utility command `bench` (#298)Stefan Boberg2023-05-162-0/+20
| | | currently this implements a way (`zen bench --purge`) to purge the standby lists on Windows. This basically flushes the file system cache and is useful to put your system in a consistent state before running benchmarks
* Moved EnableVTMode function into zencore (#311)Stefan Boberg2023-05-162-12/+33
|
* SetCurrentThreadName now sets thread name in traceStefan Boberg2023-05-151-10/+14
|
* brought over minor IoBuffer changes from sb/scrubStefan Boberg2023-05-152-0/+3
| | | | no actual code changes, just comments
* added IoBuffer.mmap test caseStefan Boberg2023-05-151-0/+27
| | | | | | this verifies that attempting to map a range outside the underlying file fails. Posix appears to offer different semantics so it silently accepts it still however.
* disable warning C5105 in ZEN_THIRD_PARTY_INCLUDES_STARTStefan Boberg2023-05-151-6/+7
|
* added trace::DescribeSession to TraceInitStefan Boberg2023-05-151-7/+13
| | | | | without this, traces rather unhelpfully show up with no context in the session browser
* Ensure WorkerThreadPool tests always runStefan Boberg2023-05-151-0/+2
|
* Merge branch 'main' of https://github.com/EpicGames/zenStefan Boberg2023-05-158-81/+740
|\
| * Remove ATL header usage (#306)Stefan Boberg2023-05-156-47/+507
| | | | | | ATL has been used here and there as a convenience. Given that this is a legacy component and not always something which gets installed along with the compiler we hereby remove the dependency altogether in favour of our own simple wrappers
| * all threads should be named (#304)Stefan Boberg2023-05-152-34/+233
| | | | | | | | | | | | | | * added WorkerThreadPool naming, packaged_task support * name the http.sys thread pool service threads * added http.sys I/O threadpool naming * upstream cache I/O thread naming
* | implemented string conversion for CbValidateError enumStefan Boberg2023-05-152-0/+44
|/
* implemented structured cache logging (#296)Stefan Boberg2023-05-121-2/+2
| | | | | | | | may be used as audit trail to help analyse potential cache pollution/corruption * also added common header with timestamp to all known log targets * made `Oid::operator bool` explicit to avoid logging/text format mishaps * made `HttpClient::operator bool` explicit
* better logging/exception when reading file in IoBuffer::Materialize fails (#294)Dan Engelbrecht2023-05-121-8/+37
| | | | * better logging/exception when reading file in IoBuffer::Materialize fails * changelog
* Gracefully exit if Ctrl-C is pressed (#293)Dan Engelbrecht2023-05-112-0/+7
| | | | | * Feature: Gracefully exit if Ctrl-C is pressed * Bugfix: Return error code on exit as set by application * changelog
* allow early logging (#292)Dan Engelbrecht2023-05-111-0/+4
| | | | * if logging is not initialized, just log to console * changelog
* ZEN_LOG_SCOPE compile fixStefan Boberg2023-05-111-1/+1
| | | | previous version would fail with multiple instances in the same scope
* fix return code on tests (#284)Dan Engelbrecht2023-05-101-3/+1
| | | fix help for xmake test
* add context to MapViewOfFile errors (#282)Stefan Boberg2023-05-093-3/+32
| | | | * added FileSizeFromHandle function * added file size to error message when MapViewOfFile fails
* fixed merge errorStefan Boberg2023-05-091-4/+4
| | | | EmitScopesForLogging -> EmitActivitiesForLogging
* make logging tests run as part of zencore-testStefan Boberg2023-05-093-2/+6
|
* implemented thread-local activity trackingStefan Boberg2023-05-092-0/+194
| | | includes support for on-demand formatting of scope in error messages
* replace use of cxxopts::OptionParseException in our codeStefan Boberg2023-05-081-0/+8
| | | | later versions of cxxopts changed the signatures of exceptions. This change adds zen::OptionParseException to replace it
* 247 complete httpclient implementation (#269)Stefan Boberg2023-05-052-10/+22
| | | | | | | | | * implemented HttpClient connection pooling * implemented missing verbs * added response helpers (CbObject/CbPackage/text) * added RwLock::WithSharedLock and RwLock::WithExclusiveLock * added some noexcept annotations on RwLock * removed CPR dependency in httpclient.h
* cleaned up how Oodle is incorporatedStefan Boberg2023-05-022-4/+3
| | | | changed win64 to be more in line with other platforms wrt xmake config
* moved source directories into `/src` (#264)Stefan Boberg2023-05-0283-0/+25031
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees