From 7c5b22246357ef6bcd6d74e61a8fe6a8a9d4df3e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 28 Jan 2014 16:25:10 -0500 Subject: Created ILibraryMonitor to replace IDirectoryWatchers --- .../Library/LibraryManager.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs') diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 736c70ad5..04344553f 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -137,7 +137,7 @@ namespace MediaBrowser.Server.Implementations.Library private IEnumerable _savers; - private readonly Func _directoryWatchersFactory; + private readonly Func _libraryMonitorFactory; /// /// The _library items cache @@ -180,14 +180,14 @@ namespace MediaBrowser.Server.Implementations.Library /// The user manager. /// The configuration manager. /// The user data repository. - public LibraryManager(ILogger logger, ITaskManager taskManager, IUserManager userManager, IServerConfigurationManager configurationManager, IUserDataManager userDataRepository, Func directoryWatchersFactory, IFileSystem fileSystem) + public LibraryManager(ILogger logger, ITaskManager taskManager, IUserManager userManager, IServerConfigurationManager configurationManager, IUserDataManager userDataRepository, Func libraryMonitorFactory, IFileSystem fileSystem) { _logger = logger; _taskManager = taskManager; _userManager = userManager; ConfigurationManager = configurationManager; _userDataRepository = userDataRepository; - _directoryWatchersFactory = directoryWatchersFactory; + _libraryMonitorFactory = libraryMonitorFactory; _fileSystem = fileSystem; ByReferenceItems = new ConcurrentDictionary(); @@ -934,7 +934,7 @@ namespace MediaBrowser.Server.Implementations.Library /// Task. public async Task ValidateMediaLibraryInternal(IProgress progress, CancellationToken cancellationToken) { - _directoryWatchersFactory().Stop(); + _libraryMonitorFactory().Stop(); try { @@ -942,7 +942,7 @@ namespace MediaBrowser.Server.Implementations.Library } finally { - _directoryWatchersFactory().Start(); + _libraryMonitorFactory().Start(); } } @@ -1462,13 +1462,13 @@ namespace MediaBrowser.Server.Implementations.Library var semaphore = _fileLocks.GetOrAdd(path, key => new SemaphoreSlim(1, 1)); - var directoryWatchers = _directoryWatchersFactory(); + var directoryWatchers = _libraryMonitorFactory(); await semaphore.WaitAsync().ConfigureAwait(false); try { - directoryWatchers.TemporarilyIgnore(path); + directoryWatchers.ReportFileSystemChangeBeginning(path); saver.Save(item, CancellationToken.None); } catch (Exception ex) @@ -1477,7 +1477,7 @@ namespace MediaBrowser.Server.Implementations.Library } finally { - directoryWatchers.RemoveTempIgnore(path); + directoryWatchers.ReportFileSystemChangeComplete(path, false); semaphore.Release(); } } -- cgit v1.2.3