[Quickfix-developers] Patch: prevent overlapping resend requests, next/nextQueued stack overflow
Brought to you by:
orenmnero
From: Caleb E. <cal...@gm...> - 2005-02-28 16:46:51
|
Attached is a patch which addresses the two problems I reported on Friday of last week. It unrolls the recusion between Session::next and ::nextQueued by passing an extra parameter to the one-argument versions of Session::next that indicates whether the message is coming from nextQueued. This changes the public interface to Session (though the extra argument it defaults) so it may not be the cleanest solution to the problem. The multiple overlapping resend request issue is addressed more or less as I documented in the earlier email. SessionState keeps track of the details of any outstanding resend request and this data is reset when the session disconnects or a queued message is successfully processed. After these changes all of the acceptance tests pass but the unit test called 10_MsgSeqNumGreater fails for each FIX version. The input file for that test bears the comment "ERROR, Why are we sending this twice?". I think my patch fixes this bug in the engine, so the testcase needs to be adjusted :-) I'm attaching the results of the runat program. -- Caleb Epstein caleb dot epstein at gmail dot com |