コード例 #1
0
        public virtual async Task ClearAsync(CancellationToken cancellationToken)
        {
            var keysSet = await KeysSetMap.GetValueOrDefaultAsync(Name).ConfigureAwait(false);

            if (keysSet != null)
            {
                var keysEnumerable = keysSet.AsEnumerableAsync();
                await keysEnumerable.ForEachAwaitAsync(async k =>
                {
                    IScopedMap scopedMap;
                    if (ScopedMapDictionary.TryGetValue(k.Identifier, out scopedMap))
                    {
                        await scopedMap.RemoveKeyAsync(k.Key).ConfigureAwait(false);
                    }
                },
                                                       cancellationToken);
            }

            await KeysSetMap.TryRemoveAsync(Name).ConfigureAwait(false);
        }
コード例 #2
0
 public Task <bool> TryRemoveAsync(TKey key, CancellationToken cancellationToken = default) =>
 _underlyingSetMap.TryRemoveAsync(key, cancellationToken);