Skip to content

Commit 1c4c5f9

Browse files
authored
Merge pull request #171 from bhaan/peer-timer
Reset peer timer after logon
2 parents 7a31179 + 8bb1291 commit 1c4c5f9

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

event_timer.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ type eventTimer struct {
99
timer *time.Timer
1010
}
1111

12-
func (t *eventTimer) Reset(timeout time.Duration) (ok bool) {
12+
func (t *eventTimer) Stop() (ok bool) {
1313
if t.timer != nil {
1414
ok = t.timer.Stop()
15-
} else {
16-
ok = true
1715
}
16+
return
17+
}
1818

19-
if t.Task != nil {
19+
func (t *eventTimer) Reset(timeout time.Duration) (ok bool) {
20+
ok = t.Stop()
21+
if t.Task != nil && timeout > 0 {
2022
t.timer = time.AfterFunc(timeout, t.Task)
2123
}
2224
return

session.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ func (s *session) handleLogon(msg Message) error {
295295
s.log.OnEvent("Received logon response")
296296
}
297297

298+
s.peerTimer.Reset(time.Duration(int64(1.2 * float64(s.heartBeatTimeout))))
299+
298300
if err := s.checkTargetTooHigh(msg); err != nil {
299301
switch TypedError := err.(type) {
300302
case targetTooHigh:
@@ -511,6 +513,8 @@ func (s *session) run(msgIn chan fixIn, msgOut chan []byte, quit chan bool) {
511513
close(s.messageOut)
512514
close(s.toSend)
513515
s.toSend = nil
516+
s.stateTimer.Stop()
517+
s.peerTimer.Stop()
514518
s.onDisconnect()
515519
}()
516520

0 commit comments

Comments
 (0)