public void Add(Group group, IEnumerable<Key> keys) { lock (_thisLock) { var groupManager = new GroupManager(group); _table[group] = groupManager; if (keys == null) return; foreach (var key in keys) { groupManager.Set(key, true); } } }
private void CheckState(Index index) { lock (this.ThisLock) { if (index == null) { return; } foreach (var group in index.Groups) { _existManager.Add(group); { var keys = new List <Key>(); foreach (var key in group.Keys) { if (!_cacheManager.Contains(key)) { continue; } keys.Add(key); } _existManager.Set(group, keys); } } } }