You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Framework/AzCore/Tests
lumberyard-employee-dm b7c2401056
Added a ThreadDispatch Policy to the EBus code (#4405)
* Added a ThreadDispatch Policy to the EBus code

The ThreadDispatch Policy can be configured by authors of an EBusTraits to
invoke a callback function after an EBus has finished it's dispatching
mechanism on a specific thread.

It takes into account recursive calls as well and will only invoke the
PostDispatch callback after all callstack entries for the current thread
are cleared.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Clang build fix

The Traits type is dependent on the template parameter, therefore the compiler needs to be told that the ThreadDispatchPolicy is a type and not a value.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed DispatchLockGuard cxall in the TerrainWorldRendererComponent.cpp

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added EBusTrait for configuring the DispatchLockGuard

Removed the ThreadPolicy trait, now that the DispatchLockGuard for the
EBus Context can be configured.

Used the DispatchLockGuard template along with the
IsInDispatchThisThread function to determine when an EBus has finished
dispatching on thread and released it's Context Mutex.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Tweaked comment format for the IsInDispatch function


Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed explicit GetContext call from ThreadDispatchTestBus.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Clang EBus Test fix for DispatchLockGuard trait

Due to the clang compiler evalating constants within templates at the time of declaration, the LocklessDispatch value supplied to the template was always false resulting in the LocklessDispatch feature always locking.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
..
AZStd Archive Component - Rewrite and additional work on Archive and Asset Bundler (#4332) 4 years ago
AZTestShared Code/Framework fixes 4 years ago
Asset Removed ununeeded includes from EBus EBus.h and Policies.h (#4256) 4 years ago
Console Added a deferred queue to the AZ Console class (#3298) 4 years ago
Debug more fixes for Code 4 years ago
EBus Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IO Update the FileIO Aliases (#4186) 4 years ago
Math Merge branch 'development' into cmake/warn_virtual 4 years ago
Memory Fixes AzCore for MSVC 4 years ago
Name Implemented C++23 deleted nullptr_t constructor/assignment for AZStd string classes (#4158) 4 years ago
Platform PR comments 4 years ago
RTTI Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Serialization/Json Fixes AzCore for MSVC 4 years ago
Settings Build time reduction: AzStdOnDemandReflection (#3111) 4 years ago
Streamer Modernization + AZStd::function compare fix. (#3680) 4 years ago
Time Some shutdown crash fixes, reverted a whitespace, and added some basic unit tests for time additions 4 years ago
AssetJsonSerializerTests.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
AssetManager.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
AssetSerializerTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
AzEnumTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BehaviorContext.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BehaviorContextFixture.h Add preliminary budget tracking system and remove driller integration 4 years ago
Components.cpp Add AZ_BUDGET_DEFINE/AZ_BUDGET_DECLARE and remove driller 4 years ago
DLL.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
DLLMainTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Debug.cpp Deprecate profiler categories based on global enum 4 years ago
EBus.cpp Added a ThreadDispatch Policy to the EBus code (#4405) 4 years ago
EntityIdTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
EntityTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
EnumTests.cpp more fixes for Code 4 years ago
EventTests.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
FileIOBaseTestTypes.h Update the FileIO Aliases (#4186) 4 years ago
FixedWidthIntegers.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
GenericStreamMock.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
GenericStreamTests.cpp more fixes for Code 4 years ago
Geometry2DUtils.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IPC.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Interface.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IntersectPoint.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
JSON.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Jobs.cpp Fixes AzCore for MSVC 4 years ago
Main.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Memory.cpp Archive Component - Rewrite and additional work on Archive and Asset Bundler (#4332) 4 years ago
Module.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ModuleTestBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
OrderedEventBenchmarks.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
OrderedEventTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Outcome.cpp remove unnecessary ALIGN macros 4 years ago
Patching.cpp More fixes 4 years ago
RemappableId.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Rtti.cpp more fixes for Code 4 years ago
Script.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
ScriptMath.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ScriptProperty.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Serialization.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
SerializeContextFixture.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
SettingsRegistryMergeUtilsTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
SettingsRegistryTests.cpp Implemented C++23 deleted nullptr_t constructor/assignment for AZStd string classes (#4158) 4 years ago
Slice.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
State.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
StatisticalProfiler.cpp [development] Revived the statistical profiler (#4378) 4 years ago
Statistics.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
StreamerTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
StringFunc.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
SystemFile.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
TaskTests.cpp convert atom to task graph (#4230) 4 years ago
TestCatalog.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
TestCatalog.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
TickBusTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
UUIDTests.cpp Squashed commit of Procedural Prefab work (#4481) 4 years ago
XML.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
azcoretestdll_files.cmake Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
azcoretests_files.cmake [development] Revived the statistical profiler (#4378) 4 years ago
aztestshared_files.cmake Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago