Skip to content

Commit a9e665c

Browse files
authored
Merge pull request #177 from bhaan/logout-seq-num
increment target seq num on logout
2 parents 02d88dc + e64c376 commit a9e665c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

in_session.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,19 @@ func (state inSession) VerifyMsgIn(session *session, msg Message) (err MessageRe
3434
}
3535

3636
func (state inSession) FixMsgIn(session *session, msg Message) (nextState sessionState) {
37+
nextState = state
38+
3739
var msgType FIXString
3840
if err := msg.Header.GetField(tagMsgType, &msgType); err == nil {
3941
switch string(msgType) {
4042
case enum.MsgType_LOGON:
4143
session.handleLogon(msg)
42-
return state
44+
return
4345
case enum.MsgType_LOGOUT:
4446
session.log.OnEvent("Received logout request")
4547
session.log.OnEvent("Sending logout response")
4648
session.sendLogout("")
47-
return latentState{}
49+
nextState = latentState{}
4850
case enum.MsgType_TEST_REQUEST:
4951
return state.handleTestRequest(session, msg)
5052
case enum.MsgType_RESEND_REQUEST:
@@ -55,7 +57,7 @@ func (state inSession) FixMsgIn(session *session, msg Message) (nextState sessio
5557
}
5658

5759
session.store.IncrNextTargetMsgSeqNum()
58-
return state
60+
return
5961
}
6062

6163
func (state inSession) FixMsgInRej(session *session, msg Message, rej MessageRejectError) (nextState sessionState) {

logout_state.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ func (state logoutState) FixMsgIn(session *session, msg Message) (nextState sess
1818
switch string(msgType) {
1919
case enum.MsgType_LOGOUT:
2020
session.log.OnEvent("Received logout response")
21+
session.store.IncrNextTargetMsgSeqNum()
2122
return latentState{}
2223
default:
2324
return state

0 commit comments

Comments
 (0)