From 29459d768d34e3dff12d45f04b6739f4c832f582 Mon Sep 17 00:00:00 2001 From: Haruue Icymoon Date: Wed, 28 Dec 2022 23:00:38 +0800 Subject: [PATCH] chore: set default value of retry_interval to 1 the prior default value 0 would make hysteria retry very fast (2000 times / sec) when network is not ready (no default route). user can still set it to 0 explicitly for a "flood retry" mode. --- app/cmd/client.go | 8 ++++++-- app/cmd/config.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/cmd/client.go b/app/cmd/client.go index 857b068..5c18989 100644 --- a/app/cmd/client.go +++ b/app/cmd/client.go @@ -152,11 +152,15 @@ func client(config *clientConfig) { if err != nil { logrus.WithField("error", err).Error("Failed to initialize client") if try <= config.Retry || config.Retry < 0 { + retryInterval := 1 + if config.RetryInterval != nil { + retryInterval = *config.RetryInterval + } logrus.WithFields(logrus.Fields{ "retry": try, - "interval": config.RetryInterval, + "interval": retryInterval, }).Info("Retrying...") - time.Sleep(time.Duration(config.RetryInterval) * time.Second) + time.Sleep(time.Duration(retryInterval) * time.Second) } else { logrus.Fatal("Out of retries, exiting...") } diff --git a/app/cmd/config.go b/app/cmd/config.go index 0356cc1..0e1d410 100644 --- a/app/cmd/config.go +++ b/app/cmd/config.go @@ -167,7 +167,7 @@ type clientConfig struct { DownMbps int `json:"down_mbps"` // Optional below Retry int `json:"retry"` - RetryInterval int `json:"retry_interval"` + RetryInterval *int `json:"retry_interval"` QuitOnDisconnect bool `json:"quit_on_disconnect"` HandshakeTimeout int `json:"handshake_timeout"` IdleTimeout int `json:"idle_timeout"`