internal void DisposeAndRemoveChannel(ILanguageWorkerChannel channel) { if (_channels.TryRemove(channel.Id, out ILanguageWorkerChannel removedChannel)) { channel?.Dispose(); } }
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); }