Re: [Quickfix-developers] Unexpected resend request behavior
Brought to you by:
orenmnero
|
From: Caleb E. <cal...@gm...> - 2006-07-20 17:38:55
|
On 7/13/06, Sean Kirkpatrick <sea...@pi...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I believe the issue is the order of execution in the Session::verify(const Message&,bool,bool) function. Shouldn't the conditional that resets the resendRange be invoked before calling doTargetTooHigh? I don't think so. The entire purpose of this code is to prevent sending multiple resend requests for the same or an overlapping set of messages. These overlapping or duplicate resend requests can cause an extremely long delay in re-syncing a connection, which is undesirable. If you moved the check that resets m_state.resendRange before the doTargetTooHigh operation, it would completely break this logic. I know that there is an unreleased fix to Session::verify (r1437 in Subversion from 4/29/06) where m_state.lastReceivedTime is now being set only after a message passes validation. In a situation like the one you outlined in your original email, I would expect to see the session disconnect send a TEST request and eventually disconnect with the latest code, which I think makes the most sense. -- Caleb Epstein |