Better value calculation, prevents the zero HeartbeatTimeout problem.
This commit is contained in:
@@ -79,13 +79,19 @@ func (s Server) WithDefault() Server {
|
|||||||
readTimeout := s.maxDur(initialTimeout, 3*time.Second)
|
readTimeout := s.maxDur(initialTimeout, 3*time.Second)
|
||||||
readTimeout = s.maxDur(s.ReadTimeout, readTimeout)
|
readTimeout = s.maxDur(s.ReadTimeout, readTimeout)
|
||||||
|
|
||||||
|
heartBeatTimeout := s.minDur(s.HeartbeatTimeout, readTimeout/2)
|
||||||
|
|
||||||
|
if heartBeatTimeout <= 0 {
|
||||||
|
heartBeatTimeout = readTimeout / 2
|
||||||
|
}
|
||||||
|
|
||||||
return Server{
|
return Server{
|
||||||
ListenInterface: s.defaultListenInterface(),
|
ListenInterface: s.defaultListenInterface(),
|
||||||
ListenPort: s.defaultListenPort(),
|
ListenPort: s.defaultListenPort(),
|
||||||
InitialTimeout: initialTimeout,
|
InitialTimeout: initialTimeout,
|
||||||
ReadTimeout: readTimeout,
|
ReadTimeout: readTimeout,
|
||||||
WriteTimeout: s.maxDur(s.WriteTimeout, 3*time.Second),
|
WriteTimeout: s.maxDur(s.WriteTimeout, 3*time.Second),
|
||||||
HeartbeatTimeout: s.minDur(s.HeartbeatTimeout, readTimeout/2),
|
HeartbeatTimeout: heartBeatTimeout,
|
||||||
ReadDelay: s.ReadDelay,
|
ReadDelay: s.ReadDelay,
|
||||||
WriteDelay: s.WriteDelay,
|
WriteDelay: s.WriteDelay,
|
||||||
TLSCertificateFile: s.TLSCertificateFile,
|
TLSCertificateFile: s.TLSCertificateFile,
|
||||||
|
|||||||
Reference in New Issue
Block a user