public virtual IAsyncEnumerable <StorageRoot> GetRootsAsync() { return(DelayedAsyncEnumerable.Delay(async cancellationToken => { var client = await GetPooledStorageClientAsync().ConfigureAwait(false); var results = client.ListBucketsAsync(Options.ProjectId) .Select(bucket => new StorageRoot(this, bucket.Name)) .Finally(() => ReturnPooledStorageClientAsync(client)); return results; })); }
public IAsyncEnumerable <IStorageItem> GetContentsAsync() => DelayedAsyncEnumerable.Delay(cancellationToken => GetContentsAsync(null, cancellationToken));
public IAsyncEnumerable <StorageItem> GetContentsAsync() => DelayedAsyncEnumerable.Delay(cancellationToken => StorageRoot.GetContentsAsync(LocalPath, cancellationToken));