/// <summary> /// Implements an update tracker request. /// TODO: Handle targeting of different stores. (bug 1365340) /// </summary> private async Task <RemoveFromTrackerResponse> RemoveFromTrackerAsync( RemoveFromTrackerRequest request, CancellationToken token) { LogRequestHandling(); DateTime startTime = DateTime.UtcNow; var cacheContext = new Context(new Guid(request.TraceId), _logger); long filesEvicted = 0; var removeFromTrackerResult = await _sessionHandler.RemoveFromTrackerAsync(new OperationContext(cacheContext, token)); if (!removeFromTrackerResult) { return(new RemoveFromTrackerResponse { Header = ResponseHeader.Failure(startTime, removeFromTrackerResult.ErrorMessage, removeFromTrackerResult.Diagnostics) }); } filesEvicted = removeFromTrackerResult.Value; return(new RemoveFromTrackerResponse { Header = ResponseHeader.Success(startTime), FilesEvicted = filesEvicted }); }
private async Task <RemoveFromTrackerResponse> RemoveFromTrackerAsync( RemoveFromTrackerRequest request, CancellationToken token) { DateTime startTime = DateTime.UtcNow; var cacheContext = new Context(new Guid(request.TraceId), Logger); using var shutdownTracker = TrackShutdown(cacheContext, token); var removeFromTrackerResult = await ContentSessionHandler.RemoveFromTrackerAsync(shutdownTracker.Context); if (!removeFromTrackerResult) { return(new RemoveFromTrackerResponse { Header = ResponseHeader.Failure(startTime, removeFromTrackerResult.ErrorMessage, removeFromTrackerResult.Diagnostics) }); } long filesEvicted = removeFromTrackerResult.Value; return(new RemoveFromTrackerResponse { Header = ResponseHeader.Success(startTime), FilesEvicted = filesEvicted }); }
/// <inheritdoc /> public override Task <RemoveFromTrackerResponse> RemoveFromTracker(RemoveFromTrackerRequest request, ServerCallContext context) => _contentServer.RemoveFromTrackerAsync(request, context.CancellationToken);