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); }
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); }
public async Task <TValue> GetAsync(S3FileKey key, bool includeMetadata) { return(await RetryPolicy.ExecuteAsync(() => _repositoryReader.GetAsync(key, includeMetadata))); }