[Quickfix-developers] Bug in processing resend requests?
Brought to you by:
orenmnero
From: Gunnar H. <gh...@hi...> - 2014-01-21 16:43:47
|
Hello all, We wrote an acceptor type application with QF. Sometimes it accepts a resend request but many times it rejects them, saying that the message is invalid. All are received from the same client and the rejected resend requests are constructed exactly the same way as are the accepted ones. Below are some examples. It looks QF is wrong to reject the first one? Invalid ResendRequest (according to QuickFIX) examples: 20140121-06:33:31.239 : 8=FIX.4.2^A9=64^A35=2^A49=HIQ4^A56=HIQFIX^A52=20140121-06:33:31^A34=1209^A7=1^A16=2915^A10=153^A 20140121-06:33:31.239 : Received ResendRequest FROM: 1 TO: 2915 20140121-06:33:31.244 : Invalid message: SOH not found at end of field Accepted ResendRequest example: 20140121-07:07:09.617 : 8=FIX.4.2^A9=64^A35=2^A49=HIQ4^A56=HIQFIX^A52=20140121-07:07:09^A34=1357^A7=1^A16=4143^A10=159^A 20140121-07:07:09.617 : Received ResendRequest FROM: 1 TO: 4143 20140121-07:07:09.624 : Sent SequenceReset TO: 13 20140121-07:07:09.624 : Resending Message: 13 20140121-07:07:09.625 : Resending Message: 14 etc. Thank you for your time, Gunnar On May 29, 2013, at 12:30 PM, Gunnar Harms wrote: > Hi All, > > I want to suppress the 35=X messages in the FIX.4.2-<X>-<Y>.messages.current.log files and log all other messages (administrative, marketdatarequestrejects, etc.). > > It would be easy if i could derive my own Session class from FIX::Session and override the sendRaw/send methods to not make the m_state.onOutgoing( string ) call for these message types but this ssems not possible (because in acceptor class the sessions are created from calls to a locally defined SessionFactory variable). > > > What i could try is deriving from ScreenLogFactory (say MyScreenLogFactory), override in that class some create() method(s) to create not a ScreenLog but a derivation (say MyScreenLog) of it and in that derived class override onOutgoing(). But then I must search in the message string for subsstrings like 35=X which is a waste of time since in FIX::Session send methods is available the MsgType. > > Also some periodically running script to truncate the log files is far from optimal for obvious reasons. > > > I am perhaps missing something simple because I cannot imagine that writing each 35=X to log file is acceptable for other users of QF (for us it is really a show stopper, log files get toooo big). > > > Thanks for reading and for any help, > Gunnar > > > > |