@@ -40,8 +40,9 @@ func (state inSession) FixMsgIn(session *session, msg Message) (nextState sessio
4040 if err := msg .Header .GetField (tagMsgType , & msgType ); err == nil {
4141 switch string (msgType ) {
4242 case enum .MsgType_LOGON :
43- session .handleLogon (msg )
44- return
43+ if err := session .handleLogon (msg ); err != nil {
44+ return session .handleError (err )
45+ }
4546 case enum .MsgType_LOGOUT :
4647 session .log .OnEvent ("Received logout request" )
4748 session .log .OnEvent ("Sending logout response" )
@@ -56,7 +57,9 @@ func (state inSession) FixMsgIn(session *session, msg Message) (nextState sessio
5657 }
5758 }
5859
59- session .store .IncrNextTargetMsgSeqNum ()
60+ if err := session .store .IncrNextTargetMsgSeqNum (); err != nil {
61+ return session .handleError (err )
62+ }
6063 return
6164}
6265
@@ -79,12 +82,16 @@ func (state inSession) Timeout(session *session, event event) (nextState session
7982 case needHeartbeat :
8083 heartBt := NewMessage ()
8184 heartBt .Header .SetField (tagMsgType , FIXString ("0" ))
82- session .send (heartBt )
85+ if err := session .send (heartBt ); err != nil {
86+ return session .handleError (err )
87+ }
8388 case peerTimeout :
8489 testReq := NewMessage ()
8590 testReq .Header .SetField (tagMsgType , FIXString ("1" ))
8691 testReq .Body .SetField (tagTestReqID , FIXString ("TEST" ))
87- session .send (testReq )
92+ if err := session .send (testReq ); err != nil {
93+ return session .handleError (err )
94+ }
8895 session .log .OnEvent ("Sent test request TEST" )
8996 session .peerTimer .Reset (time .Duration (int64 (1.2 * float64 (session .heartBeatTimeout ))))
9097 return pendingTimeout {}
@@ -100,10 +107,14 @@ func (state inSession) handleTestRequest(session *session, msg Message) (nextSta
100107 heartBt := NewMessage ()
101108 heartBt .Header .SetField (tagMsgType , FIXString ("0" ))
102109 heartBt .Body .SetField (tagTestReqID , testReq )
103- session .send (heartBt )
110+ if err := session .send (heartBt ); err != nil {
111+ return session .handleError (err )
112+ }
104113 }
105114
106- session .store .IncrNextTargetMsgSeqNum ()
115+ if err := session .store .IncrNextTargetMsgSeqNum (); err != nil {
116+ return session .handleError (err )
117+ }
107118 return state
108119}
109120
@@ -115,7 +126,9 @@ func (state inSession) handleSequenceReset(session *session, msg Message) (nextS
115126
116127 switch {
117128 case newSeqNo > expectedSeqNum :
118- session .store .SetNextTargetMsgSeqNum (int (newSeqNo ))
129+ if err := session .store .SetNextTargetMsgSeqNum (int (newSeqNo )); err != nil {
130+ return session .handleError (err )
131+ }
119132 case newSeqNo < expectedSeqNum :
120133 //FIXME: to be compliant with legacy tests, do not include tag in reftagid? (11c_NewSeqNoLess)
121134 session .doReject (msg , valueIsIncorrectNoTag ())
@@ -150,7 +163,9 @@ func (state inSession) handleResendRequest(session *session, msg Message) (nextS
150163 }
151164
152165 state .resendMessages (session , int (beginSeqNo ), endSeqNo )
153- session .store .IncrNextTargetMsgSeqNum ()
166+ if err := session .store .IncrNextTargetMsgSeqNum (); err != nil {
167+ return session .handleError (err )
168+ }
154169 return state
155170}
156171
@@ -217,7 +232,9 @@ func (state inSession) processReject(session *session, msg Message, rej MessageR
217232 return logoutState {}
218233 default :
219234 session .doReject (msg , rej )
220- session .store .IncrNextTargetMsgSeqNum ()
235+ if err := session .store .IncrNextTargetMsgSeqNum (); err != nil {
236+ return session .handleError (err )
237+ }
221238 return state
222239 }
223240}
0 commit comments