public async Task <Possible <Stream, Failure> > GetStreamAsync(CasHash hash, UrgencyHint urgencyHint, Guid activityId) { var result = await ReadOnlyCacheSession.OpenStreamAsync(new Context(Logger), hash.ToMemoization(), CancellationToken.None); switch (result.Code) { case OpenStreamResult.ResultCode.Success: if (result.Stream != null) { return(result.Stream); } return(new NoCasEntryFailure(CacheId, hash)); case OpenStreamResult.ResultCode.Error: return(new CacheFailure(result.ErrorMessage)); case OpenStreamResult.ResultCode.ContentNotFound: return(new NoCasEntryFailure(CacheId, hash)); default: return(new CacheFailure("Unrecognized OpenStreamAsync result code: " + result.Code + ", error message: " + (result.ErrorMessage ?? string.Empty))); } }
/// <inheritdoc /> public Task <OpenStreamResult> OpenStreamAsync(Context context, ContentHash contentHash, CancellationToken cts, UrgencyHint urgencyHint) { return(_innerCacheSession.OpenStreamAsync(context, contentHash, cts, urgencyHint)); }