Re: [Quickfix-users] CME dropcopy certification quickfix c# 1.14.2 sending resend instead of heartb
Brought to you by:
orenmnero
From: Djalma R. d. S. F. <drs...@gm...> - 2010-12-17 15:38:42
|
In the documentation, default is Y. "If set to N, no messages will be persisted. This will force QuickFIX to always send GapFills instead of resending messages. Use this if you know you never want to resend a message. Useful for market data streams..." The problem I faced some time ago (which also seems to be yours) is that there is a bug in the function Session::nextResendRequest which is correctly generating the GapFill but is returning without incrementing NextTargetMsgSeqNum when PersistMessages=N. It was easy to fix. if ( !m_persistMessages ) { endSeqNo = EndSeqNo(endSeqNo + 1); int next = m_state.getNextSenderMsgSeqNum(); if( endSeqNo > next ) endSeqNo = EndSeqNo(next); generateSequenceReset( beginSeqNo, endSeqNo ); // don't forget to increment next Target Sequence Number MsgSeqNum msgSeqNum(0); resendRequest.getHeader().getField( msgSeqNum ); if( !isTargetTooHigh(msgSeqNum) && !isTargetTooLow(msgSeqNum) ) { m_state.incrNextTargetMsgSeqNum(); } return; } I suggest that you retest forcing PersistMessages=Y, before making the source code modification (since this is a drop-copy connection, I don't beleive the message persistence is critical for you). On Fri, Dec 17, 2010 at 12:55 PM, jyua44 <jy...@ho...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I did not. But default value is 'N', otherwise the QF will not send 35=4. > > jyua44 wrote: >> >> Sorry, the 5th step means: My quickfix engine sends back resend request >> with 35=2 ... >> >> Thank >> >> jyua44 wrote: >>> >>> I am doing CME dropcopy cert and have a problem as follows: >>> 1. CME sends me a resend request with 35=2, say with seq number 34 = >>> 10; >>> 2. My quickfix engine sends back gapfill with 35 = 4; >>> 3. My quickfix engine send back heartbeat; >>> 4. CME sends me a heartbeat with seq number 34 = 11; >>> 5. send back resend request with 35 = 2 for seq number 10. This is >>> not desired. Some how, the quickfix engine does not remember RESEND >>> REQUEST seq number 10 already received. The desired behavior by the >>> certification is sending back a heartbeat. >>> >>> Anybody know how to resolve this? >>> >>> Here are the fix messages: >>> 8=FIX.4.2 9=89 35=2 34=2831 49=CME 50=G 52=20101216-06:57:17.060 56=OAACPON 57=AJX 369=2246 7=2247 16=0 10=139 >>> 8=FIX.4.2 9=123 35=4 34=2247 43=Y 49=OAACPON 50=AJX 52=20101216-06:57:17.272 56=CME 57=G 122=20101216-06:57:17.272 142=AJXDC 36=2249 123=Y 10=215 >>> 8=FIX.4.2 9=78 35=0 34=2249 49=OAACPON 50=AJX 52=20101216-06:57:47.271 56=CME 57=G 142=AJXDC 10=009 >>> 8=FIX.4.2 9=77 35=0 34=2832 49=CME 50=G 52=20101216-06:57:47.068 56=OAACPON 57=AJX 369=2247 10=122 >>> 8=FIX.4.2 9=90 35=2 34=2250 49=OAACPON 50=AJX 52=20101216-06:57:47.287 56=CME 57=G 142=AJXDC 7=2831 16=0 10=028 >>> >>> >> >> > > -- > View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30481585.html > Sent from the QuickFIX - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |