Beispiel #1
0
        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}'");
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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}'");
            }
        }