From 429356eac19435f44e48ad24a00ce7564c95692f Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 30 May 2021 19:01:05 +0300 Subject: [PATCH] Debug friendly if conditions --- src/sp.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/sp.go b/src/sp.go index d7e4882..2dde928 100644 --- a/src/sp.go +++ b/src/sp.go @@ -795,13 +795,20 @@ func (state *SPState) StartWorkers( pingTicker.Stop() return case now := <-deadlineTicker.C: - if (now.Sub(state.RxLastNonPing) >= state.onlineDeadline && - now.Sub(state.TxLastNonPing) >= state.onlineDeadline) || - (state.maxOnlineTime > 0 && state.mustFinishAt.Before(now)) || - (now.Sub(state.RxLastSeen) >= 2*PingTimeout) { - state.SetDead() - conn.Close() // #nosec G104 + if now.Sub(state.RxLastNonPing) >= state.onlineDeadline && + now.Sub(state.TxLastNonPing) >= state.onlineDeadline { + goto Deadlined } + if state.maxOnlineTime > 0 && state.mustFinishAt.Before(now) { + goto Deadlined + } + if now.Sub(state.RxLastSeen) >= 2*PingTimeout { + goto Deadlined + } + break + Deadlined: + state.SetDead() + conn.Close() // #nosec G104 case now := <-pingTicker.C: if now.After(state.TxLastSeen.Add(PingTimeout)) { state.wg.Add(1) -- 2.44.0