Re: [Quickfix-developers] reconnecting after diconnect
Brought to you by:
orenmnero
From: Oren M. <or...@qu...> - 2004-06-04 20:17:49
|
Ok, looking at it I think the "Field not found" is an erroneous=20 message. I bet what it really is, is the sequence number is lower than=20= expected and there is no PossDupFlag (which is where the FieldNotFound=20= is coming from). Try changing the doTargetToLow method to look like=20 this: bool Session::doTargetTooLow( const Message& msg ) { QF_STACK_PUSH(Session::doTargetTooLow) const Header & header =3D msg.getHeader(); MsgType msgType; PossDupFlag possDupFlag(false); MsgSeqNum msgSeqNum; header.getField( msgType ); if( header.isSetField( possDupFlag ) ) header.getField( possDupFlag ); header.getField( msgSeqNum ); m_state.onEvent( "MsgSeqNum too low RECEIVED: " + IntConvertor::convert( msgSeqNum ) +" EXPECTED: " + IntConvertor::convert( getExpectedTargetNum() ) + " PosDup: " + BoolConvertor::convert( possDupFlag=20= ) ); if ( !possDupFlag ) throw std::logic_error( "Sequence number too low and PossDupFlag is=20= false" ); return doPossDup( msg ); QF_STACK_POP } My guess is that you will then see a proper message saying the sequence=20= number is too low. --oren On Jun 4, 2004, at 2:59 PM, Clark Sims wrote: > 20040604-19:39:51 : Connecting to 64.74.45.68 on port 7001 > 20040604-19:39:51 : Connection succeeded > 20040604-19:39:51 : Initiated logon request > 20040604-19:40:01 : Timed out waiting for logon response > 20040604-19:40:01 : Disconnecting > 20040604-19:40:21 : Connecting to 64.74.45.68 on port 7001 > 20040604-19:40:21 : Connection succeeded > 20040604-19:40:21 : Initiated logon request > 20040604-19:40:22 : Field not found > 20040604-19:40:22 : Disconnecting > > Oren Miller <or...@qu...> wrote: > Have you checked the QuickFIX event log? > > On Jun 4, 2004, at 2:30 PM, Clark Sims wrote: > > > I am having a problem with sequence numbers (I think). > > The ARCA cert engine told me to: > > =A0 > > se the following parameters for your logon: > > =A0TargetCompID ARCA > > =A0SenderCompID=A0************* > > =A0BeginString(Fix Version) 4.1 > > =A0EncryptMethod 0 > > =A0HeartBtInt 30 > > =A0Message Sequence Number 1812 > > =A0Our Sequence Number will be: 7 > > =A0 > > When I connect to arca, I Logoff immediatly. Here is the error log > > from Arca: > > =A0 > > > > Jun 4, 2004 7:22:49 PM, GMT > > Session failed > > > > Jun 4, 2004 7:22:49 PM, GMT > > Disconnect occurred unexpectedly. > > > > Jun 4, 2004 7:22:49 PM, GMT > > > > FIX Msg. Seq.: 8 > > FIX Msg. Direction: OUTBOUND > > FIX Msg. Type: ResendRequest > > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D65 MsgType(35)=3D2 > > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN > > SendingTime(52)=3D20040604-19:22:49 MsgSeqNum(34)=3D8 = BeginSeqNo(7)=3D1812 > > EndSeqNo(16)=3D999999 CheckSum(10)=3D236 > > > > Jun 4, 2004 7:22:49 PM, GMT > > 'Detected a MsgSeqNum higher than expected. Received '1813'. = Expected > > '1812'' occurred while receiving a Logon message. Ignored by = script. > > > > Jun 4, 2004 7:22:48 PM, GMT > > > > FIX Msg. Seq.: 7 > > FIX Msg. Direction: OUTBOUND > > FIX Msg. Type: Logon > > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D60 MsgType(35)=3DA > > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN > > SendingTime(52)=3D20040604-19:22:48 MsgSeqNum(34)=3D7 = HeartBtInt(108)=3D30 > > EncryptMethod(98)=3D0 CheckSum(10)=3D209 > > > > Jun 4, 2004 7:22:48 PM, GMT > > FIX session established from 66.9.177.254:19720 > > > > Jun 4, 2004 7:22:48 PM, GMT > > Logon Validated > > =A0 > > > > Do you Yahoo!? > > Friends. Fun. Try the all-new Yahoo! Messenger > > Do you Yahoo!? > Friends. Fun. Try the all-new Yahoo! Messenger= |