From 8c1afce2c1e3d6befee728fd0dc7912e53cb43ac Mon Sep 17 00:00:00 2001 From: bhaan Date: Wed, 13 Jul 2016 18:34:26 +0000 Subject: [PATCH] Handle OnLogon/Logout callbacks in user space --- session.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/session.go b/session.go index 4099b0907..7bc587945 100644 --- a/session.go +++ b/session.go @@ -150,8 +150,8 @@ func (s *session) accept(msgIn chan fixIn, msgOut chan []byte, quit chan bool) { } func (s *session) onDisconnect() { - s.application.OnLogout(s.sessionID) s.log.OnEvent("Disconnected") + go s.application.OnLogout(s.sessionID) } func (s *session) insertSendingTime(header Header) { @@ -295,8 +295,6 @@ func (s *session) handleLogon(msg Message) error { s.log.OnEvent("Received logon response") } - s.application.OnLogon(s.sessionID) - if err := s.checkTargetTooHigh(msg); err != nil { switch TypedError := err.(type) { case targetTooHigh: @@ -306,6 +304,7 @@ func (s *session) handleLogon(msg Message) error { } s.store.IncrNextTargetMsgSeqNum() + go s.application.OnLogon(s.sessionID) return nil }