diff --git a/_test/test-server/main.go b/_test/test-server/main.go index 2679e889d..470cd7c22 100644 --- a/_test/test-server/main.go +++ b/_test/test-server/main.go @@ -185,7 +185,7 @@ func main() { http.HandleFunc("/seqnum", func(w http.ResponseWriter, r *http.Request) { defer w.WriteHeader(http.StatusOK) queryParams := r.URL.Query() - sessionStr, ok := queryParams["SESSION"] + sessionStr, ok := queryParams["SESSION"] if !ok { fmt.Println("cannot find session") os.Exit(1) @@ -193,11 +193,11 @@ func main() { splts := strings.Split(sessionStr[0], ":") parties := strings.Split(splts[1], "->") sessionID := quickfix.SessionID{ - BeginString: splts[0], + BeginString: splts[0], SenderCompID: parties[0], TargetCompID: parties[1], } - num, ok := queryParams["NEXTTARGETSEQNUM"] + num, ok := queryParams["NEXTTARGETSEQNUM"] if ok { seqnumInt, cErr := strconv.Atoi(num[0]) if cErr != nil { @@ -213,7 +213,7 @@ func main() { return } - num, ok = queryParams["NEXTSENDERSEQNUM"] + num, ok = queryParams["NEXTSENDERSEQNUM"] if ok { seqnumInt, cErr := strconv.Atoi(num[0]) if cErr != nil { @@ -225,10 +225,10 @@ func main() { fmt.Println("err setting sender seqnum: " + setErr.Error()) return } - fmt.Println("set sender seqnum to: "+num[0]) + fmt.Println("set sender seqnum to: " + num[0]) return } - + fmt.Println("never found seqnum") os.Exit(1) }) diff --git a/config/configuration.go b/config/configuration.go index d64601560..b2010149e 100644 --- a/config/configuration.go +++ b/config/configuration.go @@ -979,8 +979,8 @@ const ( // - N EnableLastMsgSeqNumProcessed string = "EnableLastMsgSeqNumProcessed" - // EnableNextExpectedMsgSeqNum tells the FIX engine to add tag NextExpectedMsgSeqNum (optional tag 789) on the - // sent Logon message and use value of tag 789 on received Logon message to synchronize session. + // EnableNextExpectedMsgSeqNum tells the FIX engine to add tag NextExpectedMsgSeqNum (optional tag 789) on the + // sent Logon message and use value of tag 789 on received Logon message to synchronize session. // This should not be enabled for FIX versions less than FIX.4.4. // // Required: No @@ -990,5 +990,5 @@ const ( // Valid Values: // - Y // - N - EnableNextExpectedMsgSeqNum string = "EnableNextExpectedMsgSeqNum" + EnableNextExpectedMsgSeqNum string = "EnableNextExpectedMsgSeqNum" ) diff --git a/session.go b/session.go index 8cc840e47..ac329e288 100644 --- a/session.go +++ b/session.go @@ -209,9 +209,9 @@ func (s *session) sendLogonInReplyTo(setResetSeqNum bool, inReplyTo *Message) er return nil } -func (session *session) generateSequenceReset(beginSeqNo int, endSeqNo int, inReplyTo Message) (err error) { +func (s *session) generateSequenceReset(beginSeqNo int, endSeqNo int, inReplyTo Message) (err error) { sequenceReset := NewMessage() - session.fillDefaultHeader(sequenceReset, &inReplyTo) + s.fillDefaultHeader(sequenceReset, &inReplyTo) sequenceReset.Header.SetField(tagMsgType, FIXString("4")) sequenceReset.Header.SetField(tagMsgSeqNum, FIXInt(beginSeqNo)) @@ -224,12 +224,12 @@ func (session *session) generateSequenceReset(beginSeqNo int, endSeqNo int, inRe sequenceReset.Header.SetField(tagOrigSendingTime, origSendingTime) } - session.application.ToAdmin(sequenceReset, session.sessionID) + s.application.ToAdmin(sequenceReset, s.sessionID) msgBytes := sequenceReset.build() - session.EnqueueBytesAndSend(msgBytes) - session.log.OnEventf("Sent SequenceReset TO: %v", endSeqNo) + s.EnqueueBytesAndSend(msgBytes) + s.log.OnEventf("Sent SequenceReset TO: %v", endSeqNo) return } @@ -549,19 +549,19 @@ func (s *session) handleLogon(msg *Message) error { // Evaluate tag 789 to see if we end up with an implied gapfill/resend. if s.EnableNextExpectedMsgSeqNum && !msg.Body.Has(tagResetSeqNumFlag) { - targetWantsNextSeqNumToBe, getErr := msg.Body.GetInt(tagNextExpectedMsgSeqNum) - if getErr == nil { - if targetWantsNextSeqNumToBe != nextSenderMsgNumAtLogonReceived { - if !s.DisableMessagePersist { - seqResetErr := s.generateSequenceReset(targetWantsNextSeqNumToBe, nextSenderMsgNumAtLogonReceived+1, *msg) - if seqResetErr != nil { - return seqResetErr - } - } else { - return targetTooHigh{ReceivedTarget: targetWantsNextSeqNumToBe, ExpectedTarget: nextSenderMsgNumAtLogonReceived} - } + targetWantsNextSeqNumToBe, getErr := msg.Body.GetInt(tagNextExpectedMsgSeqNum) + if getErr == nil { + if targetWantsNextSeqNumToBe != nextSenderMsgNumAtLogonReceived { + if !s.DisableMessagePersist { + seqResetErr := s.generateSequenceReset(targetWantsNextSeqNumToBe, nextSenderMsgNumAtLogonReceived+1, *msg) + if seqResetErr != nil { + return seqResetErr } + } else { + return targetTooHigh{ReceivedTarget: targetWantsNextSeqNumToBe, ExpectedTarget: nextSenderMsgNumAtLogonReceived} + } } + } } if err := s.checkTargetTooHigh(msg); err != nil {