Browse Source

lib/connections: Reduce default quic redial interval (fixes #7471) (#7672)

* lib/connections: Reduce default quic redial interval (fixes #7471)

* Update quic_dial.go
Audrius Butkevicius 4 years ago
parent
commit
1107f6eb5f
1 changed files with 8 additions and 1 deletions
  1. 8 1
      lib/connections/quic_dial.go

+ 8 - 1
lib/connections/quic_dial.go

@@ -93,8 +93,15 @@ func (d *quicDialer) Dial(ctx context.Context, _ protocol.DeviceID, uri *url.URL
 type quicDialerFactory struct{}
 
 func (quicDialerFactory) New(opts config.OptionsConfiguration, tlsCfg *tls.Config) genericDialer {
+	// So the idea is that we should probably try dialing every 20 seconds.
+	// However it would still be nice if this was adjustable/proportional to ReconnectIntervalS
+	// But prevent something silly like 1/3 = 0 etc.
+	quicInterval := opts.ReconnectIntervalS / 3
+	if quicInterval < 10 {
+		quicInterval = 10
+	}
 	return &quicDialer{commonDialer{
-		reconnectInterval: time.Duration(opts.ReconnectIntervalS) * time.Second,
+		reconnectInterval: time.Duration(quicInterval) * time.Second,
 		tlsCfg:            tlsCfg,
 	}}
 }