Beispiel #1
0
 internal void DisposeAndRemoveChannel(ILanguageWorkerChannel channel)
 {
     if (_channels.TryRemove(channel.Id, out ILanguageWorkerChannel removedChannel))
     {
         channel?.Dispose();
     }
 }
Beispiel #2
0
        public bool ShutdownChannelIfExists(string language)
        {
            if (string.IsNullOrEmpty(language))
            {
                throw new ArgumentNullException(nameof(language));
            }
            ILanguageWorkerChannel initializedChannel = null;

            if (_workerChannels.TryGetValue(language, out initializedChannel))
            {
                initializedChannel.Dispose();
                _workerChannels.Remove(language);
                return(true);
            }
            return(false);
        }