/// <summary> /// Gets the current stream revision /// </summary> /// <param name="bucket">Bucket identifier</param> /// <param name="streamId">Unique stream identifier</param> /// <param name="atBucketRevision">Max bucket revision</param> /// <returns>Current stream revision, otherwise 0</returns> public static async Task <int> GetStreamRevisionAsync <T>(this IBucket <T> bucket, Guid streamId, long?atBucketRevision = null) { var lastCommit = await bucket.GetLastCommitAsync(streamId, atBucketRevision) .ConfigureAwait(false); return(lastCommit?.StreamRevisionEnd ?? 0); }
/// <summary> /// Gets the current bucket revision /// </summary> /// <param name="bucket">Bucket identifier</param> /// <returns>Current bucket revision, otherwise 0</returns> public static async Task <long> GetBucketRevisionAsync <T>(this IBucket <T> bucket) { var lastCommit = await bucket.GetLastCommitAsync() .ConfigureAwait(false); return(lastCommit?.BucketRevision ?? 0); }