Ejemplo n.º 1
0
        /// <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
            });
        }
Ejemplo n.º 2
0
        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
            });
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public override Task <RemoveFromTrackerResponse> RemoveFromTracker(RemoveFromTrackerRequest request, ServerCallContext context) => _contentServer.RemoveFromTrackerAsync(request, context.CancellationToken);