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/Tools/AssetProcessor/native/utilities
Chris Burel ce0bb1ca2b [AssetProcessor] Refactor the FileWatcher to use only one watch thread
This change reworks the AssetProcessor's FileWatcher so that it only uses
one thread. This is motivated by getting better support for inotify on
Linux. The previous architecture required calling `inotify_init` once for
each directory that was being watched, and using separate inotify instances
for each watched tree. In addition, having separate threads per watched
tree is not necessary, and just consumes system resources. Each platform
supports watching multiple directories with the same platform-specific
watcher API, so each platform has been updated accordingly.

The interface to the FileWatcher class is greatly simplified. Previously,
it supported client-supplied filtering of the paths that would generate
notifications. This was done by subclassing `FolderWatchBase` and
implementing `OnFileChange`. However, only one filter was ever used, so
that filter is now hard-coded in the FileWatcher class, and the classes
driving the old filtering mechanism are removed. Users of the interface
now have a much easier time, they just call `AddFolderWatch` with the path
to watch, and only have to connect to one set of signals, instead of
separate signals per watched directory.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
..
ApplicationManager.cpp Asset Processor: Remove gem loading from AP (#6488) 4 years ago
ApplicationManager.h [AssetProcessor] Refactor the FileWatcher to use only one watch thread 4 years ago
ApplicationManagerAPI.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ApplicationManagerBase.cpp [AssetProcessor] Refactor the FileWatcher to use only one watch thread 4 years ago
ApplicationManagerBase.h [AssetProcessor] Refactor the FileWatcher to use only one watch thread 4 years ago
ApplicationServer.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ApplicationServer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
AssetBuilderInfo.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
AssetBuilderInfo.h [AssetProcessor] Refactor the FileWatcher to use only one watch thread 4 years ago
AssetServerHandler.cpp Archive Component - Rewrite and additional work on Archive and Asset Bundler (#4332) 4 years ago
AssetServerHandler.h Code/Tools/AssetProcessor 4 years ago
AssetUtilEBusHelper.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BatchApplicationManager.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BatchApplicationManager.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BatchApplicationServer.cpp Code/Tools fixes 4 years ago
BatchApplicationServer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BuilderConfigurationBus.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BuilderConfigurationManager.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BuilderConfigurationManager.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
BuilderManager.cpp Asset Processor: Remove gem loading from AP (#6488) 4 years ago
BuilderManager.h Asset Processor: Remove gem loading from AP (#6488) 4 years ago
BuilderManager.inl Asset Processor: Remove gem loading from AP (#6488) 4 years ago
ByteArrayStream.cpp enable warning 4296: 'operator': expression is always false 4 years ago
ByteArrayStream.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
GUIApplicationManager.cpp Asset Processor: Remove gem loading from AP (#6488) 4 years ago
GUIApplicationManager.h Remove Shader compiler tab from Asset Processor (#6486) 4 years ago
GUIApplicationServer.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
GUIApplicationServer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IniConfiguration.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
IniConfiguration.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
JobDiagnosticTracker.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
JobDiagnosticTracker.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LineByLineDependencyScanner.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LineByLineDependencyScanner.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LogPanel.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LogPanel.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MissingDependencyScanner.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
MissingDependencyScanner.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
PlatformConfiguration.cpp [LYN-7520] Wildcard Source Dependencies include files in cache/excluded files (#5349) 4 years ago
PlatformConfiguration.h [LYN-7520] Wildcard Source Dependencies include files in cache/excluded files (#5349) 4 years ago
PotentialDependencies.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
SpecializedDependencyScanner.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
StatsCapture.cpp Fixes #5909 hash file stats missing from AP stats log (#5913) 4 years ago
StatsCapture.h Adds simple stats tracking to AssetProcessor (#5573) 4 years ago
ThreadHelper.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ThreadHelper.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
UnitTestShaderCompilerServer.cpp Code/Tools fixes 4 years ago
UnitTestShaderCompilerServer.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
assetUtils.cpp Fixes #5909 hash file stats missing from AP stats log (#5913) 4 years ago
assetUtils.h Follow up fix for ATOM-13512 (#5689) 4 years ago
windowscreen.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
windowscreen.h Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago