public override async Task <DataSourceGetResponse> GetVersion(DataSourceGetVersionRequest request, ServerCallContext context) { var requestUid = Guid.NewGuid().ToString(); // TODO: Bind the UID to the request _logger.LogInformation($"Started processing Get request: '{requestUid}' from '{context.Peer}'"); try { var value = (await ReadFileAsync($"{request.Id.Id}/{request.Id.Version}", false)).First(); return(GenerateGetResponse(value, request.Id.Id, request.Id.Version, DateTimeOffset.Now.ToPointInTime(), 0, 1)); } catch (Exception e) { return(new DataSourceGetResponse { NotFound = new MonikerId { Version = request.Id } }); } finally { _logger.LogInformation($"Finished processing Get request: '{requestUid}' from '{context.Peer}'"); } }
public override async Task <DataSourceGetResponse> GetVersion(DataSourceGetVersionRequest request, ServerCallContext context) { var requestUid = Guid.NewGuid().ToString(); // TODO: Bind the UID to the request _logger.LogInformation($"Started processing Get request: '{requestUid}' from '{context.Peer}'"); var result = await _grpcClient.GetVersionAsync(request); _logger.LogInformation($"Finished processing Get request: '{requestUid}' from '{context.Peer}'"); return(result); }
public override Task <DataSourceGetResponse> GetVersion(DataSourceGetVersionRequest request, ServerCallContext context) { var requestUid = Guid.NewGuid().ToString(); // TODO: Bind the UID to the request _logger.LogInformation($"Started processing Get request: '{requestUid}' from '{context.Peer}'"); var value = _fixture.Create <string>(); var response = GenerateGetResponse(request.Id.Id, request.Id.Version, DateTimeOffset.Now.ToPointInTime(), 0, 1); _logger.LogInformation($"Finished processing Get request: '{requestUid}' from '{context.Peer}'"); return(Task.FromResult(response)); }
public override async Task <DataSourceGetResponse> GetVersion(DataSourceGetVersionRequest request, ServerCallContext context) { var requestUid = Guid.NewGuid().ToString(); // TODO: Bind the UID to the request _logger.LogInformation($"Started processing Get request: '{requestUid}' from '{context.Peer}'"); try { var(grainKey, monikerVersionPartId) = request.Id.ToGrainKey(); var result = await Task.Run(() => _orleansClient.GetGrain <ICacheItemGrain>(grainKey).GetAsync(monikerVersionPartId)); var storedValue = result.FirstOrDefault(); return(result != null ? new DataSourceGetResponse { Success = storedValue } : new DataSourceGetResponse { NotFound = new MonikerId { Version = request.Id } }); } catch (Exception e) { _logger.LogError($"{e} while processing: '{requestUid}' from '{context.Peer}'"); return(new DataSourceGetResponse { Error = new CacheError { Error = new InternalError { StorageError = e.Message } } }); // throw; } finally { _logger.LogInformation($"Finished processing Get request: '{requestUid}' from '{context.Peer}'"); } }