public async Task <TValue> GetAsync(S3FileKey key, bool includeMetadata)
        {
            TValue response = default(TValue);

            await ExcecuteAsync(async() => response = await _s3ClientReader.GetAsync(key, includeMetadata), key);

            return(response);
        }
Beispiel #2
0
        private async Task <IEnumerable <TValue> > GetOrderedVersionsAsync(IList <S3FileKey> fileKeys, bool includeMetadata)
        {
            var result = Enumerable.Repeat(default(TValue), fileKeys.Count).ToList();
            var tasks  = fileKeys.Select(async(fileKey, index) =>
            {
                var value     = await _repositoryReader.GetAsync(fileKey, includeMetadata);
                result[index] = value;
            });

            await tasks.ThrottleAsync(_maxConcurrentTasks);

            return(result);
        }
Beispiel #3
0
 public async Task <TValue> GetAsync(S3FileKey key, bool includeMetadata)
 {
     return(await RetryPolicy.ExecuteAsync(() => _repositoryReader.GetAsync(key, includeMetadata)));
 }