From 2d7538aca6f184d548dc7c890e02d77ecffea806 Mon Sep 17 00:00:00 2001 From: tommytag Date: Mon, 4 Dec 2023 18:10:45 +0800 Subject: [PATCH] [fix] incorrect data save location for latency --- adapter/adapter.go | 4 ++++ adapter/provider/provider.go | 4 ++++ constant/adapters.go | 1 + 3 files changed, 9 insertions(+) diff --git a/adapter/adapter.go b/adapter/adapter.go index e239ab7b..60b6ad94 100644 --- a/adapter/adapter.go +++ b/adapter/adapter.go @@ -48,6 +48,10 @@ func (p *Proxy) AliveForTestUrl(url string) bool { return p.alive.Load() } +func (p *Proxy) OriginalHealthCheckUrl(url string) { + p.url = url +} + // Dial implements C.Proxy func (p *Proxy) Dial(metadata *C.Metadata) (C.Conn, error) { ctx, cancel := context.WithTimeout(context.Background(), C.DefaultTCPTimeout) diff --git a/adapter/provider/provider.go b/adapter/provider/provider.go index 01ae44ee..37106e63 100644 --- a/adapter/provider/provider.go +++ b/adapter/provider/provider.go @@ -114,6 +114,10 @@ func (pp *proxySetProvider) RegisterHealthCheckTask(url string, expectedStatus u func (pp *proxySetProvider) setProxies(proxies []C.Proxy) { pp.proxies = proxies + for _, proxy := range pp.proxies { + proxy.OriginalHealthCheckUrl(pp.healthCheck.url) + } + pp.healthCheck.setProxy(proxies) if pp.healthCheck.auto() { go pp.healthCheck.check() diff --git a/constant/adapters.go b/constant/adapters.go index 68d4aa4e..4a8de89b 100644 --- a/constant/adapters.go +++ b/constant/adapters.go @@ -155,6 +155,7 @@ type Proxy interface { DelayHistory() []DelayHistory ExtraDelayHistory() map[string][]DelayHistory LastDelayForTestUrl(url string) uint16 + OriginalHealthCheckUrl(url string) URLTest(ctx context.Context, url string, expectedStatus utils.IntRanges[uint16]) (uint16, error) // Deprecated: use DialContext instead.