public async Task GetLatencies()

in Runtime/Core/Latency/LatencyService.cs [29:69]


        public async Task<GetLatenciesResponse> GetLatencies(GetLatenciesRequest request)
        {
            try
            {
                if (request == null || request.Regions == null || !request.Regions.Any())
                {
                    return Response.Fail(new GetLatenciesResponse
                    {
                        ErrorCode = ErrorCode.InvalidParameters
                    });
                }

                var regionLatencyMap = new Dictionary<string, long>();

                var regionLatencyCalculationTasks = new List<Task>();

                foreach (string region in request.Regions)
                {
                    regionLatencyCalculationTasks.Add(
                            CalculateLatencyForRegion(regionLatencyMap, region)
                        );
                }

                await Task.WhenAll(regionLatencyCalculationTasks);

                return Response.Ok(new GetLatenciesResponse
                {
                    RegionLatencies = regionLatencyMap
                });
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, ex.Message);

                return Response.Fail(new GetLatenciesResponse
                {
                    ErrorCode = ErrorCode.UnknownError,
                    ErrorMessage = ex.Message
                });
            }
        }