quickfix-developers Mailing List for QuickFIX (Page 255)
Brought to you by:
orenmnero
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Miller, O. <OM...@ri...> - 2004-01-22 06:59:21
|
This will probably be useful. A diff between 1.4 and 1.5 will probably = yield something. -------------------------- Sent from my BlackBerry Wireless Handheld -----Original Message----- From: Guru K <gg...@ba...> To: qui...@li... = <qui...@li...> Sent: Wed Jan 21 20:15:42 2004 Subject: [Quickfix-developers] Infinite logging of incoming messages... All, I was trying to replicate the "endless" logging of .incoming = messages.. Until now, I have not been to reproduce it in version 1.4.0. I have not tried 1.4.1 yet - but it certainly happens in 1.5 and 1.6. = Hope this helps and gives us some more pointers.=20 .. Guru Krishnan.=20 |
From: Guru K <gg...@ba...> - 2004-01-22 02:15:22
|
All, I was trying to replicate the "endless" logging of .incoming messages.. Until now, I have not been to reproduce it in version 1.4.0. I have not tried 1.4.1 yet - but it certainly happens in 1.5 and 1.6. Hope this helps and gives us some more pointers. .. Guru Krishnan. |
From: James C. D. <jc...@co...> - 2004-01-21 17:11:37
|
Enrico, I think that acceptance test 10_MsgSeqNumEqual.def covers this = situation. This test passes in version 1.6 and the latest CVS code. Below is the acceptance test. Do you think this covers your situation? Or am I = missing something? If not we can add a test (that would presumably fail) to = describe this issue.=20 # GapFill where MsgSeqNum is equal to the expected inbound MsgSeqNum iCONNECT I8=3DFIX.4.4=0135=3DA=0134=3D1=0149=3DTW=0152=3D<TIME>=0156=3DISLD=0198=3D= 0=01108=3D30=01 E8=3DFIX.4.4=019=3D57=0135=3DA=0134=3D1=0149=3DISLD=0152=3D00000000-00:00= :00=0156=3DTW=0198=3D0=01108=3D30=0110=3D 0=01 # sequence reset with gap fill flag set to Y I8=3DFIX.4.4=0135=3D4=0134=3D2=0149=3DTW=0152=3D<TIME>=0156=3DISLD=0136=3D= 20=01123=3DY=01 I8=3DFIX.4.4=0135=3D1=0134=3D20=0149=3DTW=0152=3D<TIME>=0156=3DISLD=01112= =3DHELLO=01 E8=3DFIX.4.4=019=3D55=0135=3D0=0134=3D2=0149=3DISLD=0152=3D00000000-00:00= :00=0156=3DTW=01112=3DHELLO=0110=3D0=01 iDISCONNECT=20 Jim =20 James C. Downs Connamara Systems, LLC 53 W. Jackson Blvd Suite 1627 Chicago, IL 60604 312 - 282 - 7746 www.connamara.com -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of = Enrico Petracchi Sent: Wednesday, January 21, 2004 3:06 AM To: qui...@li... Subject: [Quickfix-developers] Wrong sequence reset handling ? Hi, I'm working with quickfix 1.6.0 on windows platform. I had a sequence reset request not handled correctly by quickfix in one = of my client acceptance tests. Attached a time sequence ordered extraction of incoming, outgoing and = event qfx logs. QFX receives an execution report and a sequence reset (sequence number = 679) to sequence number 681 20040109-09:31:51.933 : [RCV] 8=3DFIX.4.2=019=3D265=0135=3D8=0149=3DTLX=0156=3D9993=0134=3D678=0150=3D1= =0152=3D20040109-09:31:52.027=01122 =3D20040109-09:22:47.084=0143=3DY=0111=3D20040109000502=0137=3D1743036=01= 17=3D63720=0120=3D0=0139=3D2=01 150=3D2=0155=3DBMW-U=0154=3D2=0138=3D0=0132=3D1000=0131=3D32.90000=01336=3D= 999=01151=3D0=0114=3D0=016=3D0.0=0160=3D200 40109-09:22:47.084=01439=3D0001=0193=3D15=0189=3D>MQPCKICM450331=0110=3D1= 54=01 20040109-09:31:51.943 : [RCV] 8=3DFIX.4.2=019=3D100=0135=3D4=0149=3DTLX=0156=3D9993=0134=3D679=0150=3D1= =0152=3D20040109-09:31:52.043=0143=3D Y=01123=3DY=0136=3D681=0193=3D15=0189=3D>MQPCKICM450331=0110=3D012=01 From the event log the message is processed (correctly ?) 20040109-09:31:51.943 : [EVN] Processing QUEUED message: 679 When the next message with sequence number 681 is received qfx generate = a resend request=20 20040109-09:31:51.953 : [RCV] 8=3DFIX.4.2=019=3D269=0135=3D8=0149=3DTLX=0156=3D9993=0134=3D681=0150=3D1= =0152=3D20040109-09:31:52.043=0111=3D 20040109000508=0137=3D1743096=0117=3DITSW-AVV-MM0300000681=0120=3D0=0139=3D= A=01150=3DA=0155=3DBMW-U=01 336=3D999=0138=3D1000=01151=3D1000=0114=3D0=016=3D0.0=0140=3D2=0144=3D32.= 90000=0159=3D0=0154=3D1=01109=3D1111 =0160=3D20040109-09:31:50.980=0193=3D15=0189=3D>MQPCKICM450331=0110=3D161= =01 20040109-09:31:51.953 : [EVN] MsgSeqNum too low RECEIVED: 679 EXPECTED: = 680 PosDup: Y 20040109-09:31:51.953 : [EVN] MsgSeqNum too high RECEIVED: 681 EXPECTED: = 680 20040109-09:31:51.963 : [EVN] Sent ResendRequest FROM: 680 TO: 0 20040109-09:31:51.963 : [SND] 8=3DFIX.4.2=019=3D105=0135=3D2=0134=3D281=0149=3D9993=0150=3DITSW-AVV-MM0= 3=0152=3D20040109-09:31:51.00 0=0156=3DTLX=017=3D680=0116=3D0=0189=3D>MQPCKICM450331=0193=3D15=0110=3D2= 05=01 Any suggestions ?=20 Thanks in advance=20 =09 Enrico=20 ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on = Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: <Sa...@uc...> - 2004-01-21 15:07:36
|
> Sa...@uc... wrote: > > I see... thanks. > > > > I was looking for something a little more programmatic. Sometime we are > > forced to reset our sequence numbers to match those who we are > connecting > > to. At least we have relied upon this kind of functionality in > the past. > > > > After looking at the docs more closely (which I am finally > starting to get > > the hang of) I could see that the 'Session' class defined > public methods to > > both 'get' and 'set' the sequence numbers. Unfortunately, only > the 'set' > > variants were implemented in the NET counterpart. With some > considerable > > trial and error on my part, I extended the NET interface to > include these > > two 'get' methods as well. > > Do you think you can post the changes you made to include them into the > CVS? Thanks. > Sure, I'd be glad to. It may take me a little while to get up to speed on the CVS and what it takes to post changes....so in the meantime, here are the changes I made... ...also, please tell me if my implimentation is not 'up to spec'. sm ----------------------------------------------------------- \QuickFix\src\NET\Session.h ----------------------------------------------------------- #pragma once using namespace System; using namespace System::IO; #include "quickfix_net.h" #include "Message.h" #include "SessionID.h" #include "quickfix/SessionID.h" #include "quickfix/Session.h" namespace QuickFix { public __gc class Session { public: static bool sendToTarget( Message* message ) throw( SessionNotFound* ); static bool sendToTarget( Message* message, SessionID* sessionID ) throw( SessionNotFound* ); static bool sendToTarget ( Message* message, String* senderCompID, String* targetCompID ) throw( SessionNotFound* ); static Session* lookupSession( SessionID* sessionID ); void reset() throw( IOException* ); void setNextSenderMsgSeqNum( int num ) throw( IOException* ); void setNextTargetMsgSeqNum( int num ) throw( IOException* ); ///////////////////// my changes long getExpectedSenderNum(void); long getExpectedTargetNum(void); ///////////////////// my changes private: Session(FIX::Session* unmanaged) : m_pUnmanaged(unmanaged) {} FIX::Session& unmanaged() { return * m_pUnmanaged; } FIX::Session* m_pUnmanaged; }; } -------------------------------------------------------------- ----------------------------------------------------------- \QuickFix\src\NET\Session.cpp ----------------------------------------------------------- #include "stdafx.h" #include "Session.h" #include "quickfix/CallStack.h" namespace QuickFix { bool Session::sendToTarget( Message* message ) throw( SessionNotFound* ) { QF_STACK_TRY try { return FIX::Session::sendToTarget( message->unmanaged() ); } catch ( FIX::SessionNotFound& ) { throw new SessionNotFound(); }; QF_STACK_CATCH } bool Session::sendToTarget( Message* message, SessionID* sessionID ) throw( SessionNotFound* ) { QF_STACK_TRY try { return FIX::Session::sendToTarget( message->unmanaged(), sessionID->unmanaged() ); } catch ( FIX::SessionNotFound& ) { throw new SessionNotFound(); } QF_STACK_CATCH } bool Session::sendToTarget ( Message* message, String* senderCompID, String* targetCompID ) throw( SessionNotFound* ) { QF_STACK_TRY try { return FIX::Session::sendToTarget ( message->unmanaged(), FIX::SenderCompID( convertString( senderCompID ) ), FIX::TargetCompID( convertString( targetCompID ) ) ); } catch ( FIX::SessionNotFound& ) { throw new SessionNotFound(); } QF_STACK_CATCH } Session* Session::lookupSession( SessionID* sessionID ) { QF_STACK_TRY FIX::Session* pSession = FIX::Session::lookupSession(sessionID->unmanaged()); if( !pSession ) return 0; return new Session(pSession); QF_STACK_CATCH } void Session::reset() throw( IOException* ) { QF_STACK_TRY try { unmanaged().reset(); } catch( FIX::IOException& ) { throw new IOException(); } QF_STACK_CATCH } ///////////////////// my changes long Session::getExpectedSenderNum( void ) { QF_STACK_TRY return unmanaged().getExpectedSenderNum(); QF_STACK_CATCH } long Session::getExpectedTargetNum( void ) { QF_STACK_TRY return unmanaged().getExpectedTargetNum(); QF_STACK_CATCH } ///////////////////// my changes void Session::setNextSenderMsgSeqNum( int num ) throw( IOException* ) { QF_STACK_TRY try { unmanaged().setNextSenderMsgSeqNum( num ); } catch( FIX::IOException& ) { throw new IOException(); } QF_STACK_CATCH } void Session::setNextTargetMsgSeqNum( int num ) throw( IOException* ) { QF_STACK_TRY try { unmanaged().setNextTargetMsgSeqNum( num ); } catch( FIX::IOException& ) { throw new IOException(); } QF_STACK_CATCH } } |
From: Enrico P. <e.p...@it...> - 2004-01-21 09:06:34
|
Hi, I'm working with quickfix 1.6.0 on windows platform. I had a sequence reset request not handled correctly by quickfix in one = of my client acceptance tests. Attached a time sequence ordered extraction of incoming, outgoing and = event qfx logs. QFX receives an execution report and a sequence reset (sequence number = 679) to sequence number 681 20040109-09:31:51.933 : [RCV] = 8=3DFIX.4.2=019=3D265=0135=3D8=0149=3DTLX=0156=3D9993=0134=3D678=0150=3D1= =0152=3D20040109-09:31:52.027=01122=3D20040109-09:22:47.084=0143=3DY=0111= =3D20040109000502=0137=3D1743036=0117=3D63720=0120=3D0=0139=3D2=01150=3D2= =0155=3DBMW-U=0154=3D2=0138=3D0=0132=3D1000=0131=3D32.90000=01336=3D999=01= 151=3D0=0114=3D0=016=3D0.0=0160=3D20040109-09:22:47.084=01439=3D0001=0193= =3D15=0189=3D>MQPCKICM450331=0110=3D154=01 20040109-09:31:51.943 : [RCV] = 8=3DFIX.4.2=019=3D100=0135=3D4=0149=3DTLX=0156=3D9993=0134=3D679=0150=3D1= =0152=3D20040109-09:31:52.043=0143=3DY=01123=3DY=0136=3D681=0193=3D15=018= 9=3D>MQPCKICM450331=0110=3D012=01 From the event log the message is processed (correctly ?) 20040109-09:31:51.943 : [EVN] Processing QUEUED message: 679 When the next message with sequence number 681 is received qfx generate = a resend request=20 20040109-09:31:51.953 : [RCV] = 8=3DFIX.4.2=019=3D269=0135=3D8=0149=3DTLX=0156=3D9993=0134=3D681=0150=3D1= =0152=3D20040109-09:31:52.043=0111=3D20040109000508=0137=3D1743096=0117=3D= ITSW-AVV-MM0300000681=0120=3D0=0139=3DA=01150=3DA=0155=3DBMW-U=01336=3D99= 9=0138=3D1000=01151=3D1000=0114=3D0=016=3D0.0=0140=3D2=0144=3D32.90000=01= 59=3D0=0154=3D1=01109=3D1111 = =0160=3D20040109-09:31:50.980=0193=3D15=0189=3D>MQPCKICM450331=0110=3D161= =01 20040109-09:31:51.953 : [EVN] MsgSeqNum too low RECEIVED: 679 EXPECTED: = 680 PosDup: Y 20040109-09:31:51.953 : [EVN] MsgSeqNum too high RECEIVED: 681 EXPECTED: = 680 20040109-09:31:51.963 : [EVN] Sent ResendRequest FROM: 680 TO: 0 20040109-09:31:51.963 : [SND] = 8=3DFIX.4.2=019=3D105=0135=3D2=0134=3D281=0149=3D9993=0150=3DITSW-AVV-MM0= 3=0152=3D20040109-09:31:51.000=0156=3DTLX=017=3D680=0116=3D0=0189=3D>MQPC= KICM450331=0193=3D15=0110=3D205=01 Any suggestions ?=20 Thanks in advance=20 =09 Enrico=20 |
From: Joerg T. <Joe...@ma...> - 2004-01-21 08:45:11
|
Hi Micheal, > I'm getting a strange error when trying to query the CVS repository and was > wondering if others are also getting this. I get ... > > "Proxy Error > The proxy server received an invalid response from an upstream server. > The proxy server could not handle the request GET /viewcvs.py/quickfix. > > Reason: Max-Forwards has reached zero - proxy loop?" For sourceforge problems, have a look at the Site Status (left tab): [...] ( 2004-01-19 09:32:52 - Project CVS Service ) On Thursday, January 22, 2004 developer CVS services will be down for approximately 6 hours for some additional upgrades starting at 00:01. ( 2004-01-19 09:27:48 - Project CVS Service ) As of 2004-01-19 at 9:26 AM developer CVS services are now back online. ( 2004-01-19 07:08:27 - Project CVS Service ) There was a partial outage yesterday of pserver based CVS access as an unanticipated side effect of the currently running upgrade. This outage has been resolved and anonymous pserver based CVS access is currently functional. [...] Currently, it works for me (again). Cheers, Jörg -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Michael B. <mi...@sp...> - 2004-01-21 04:10:59
|
Hi everyone, I'm getting a strange error when trying to query the CVS repository and was wondering if others are also getting this. I get ... "Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /viewcvs.py/quickfix. Reason: Max-Forwards has reached zero - proxy loop?" Any suggestions? |
From: Joerg T. <Joe...@ma...> - 2004-01-20 23:33:46
|
Sa...@uc... wrote: > I see... thanks. > > I was looking for something a little more programmatic. Sometime we are > forced to reset our sequence numbers to match those who we are connecting > to. At least we have relied upon this kind of functionality in the past. > > After looking at the docs more closely (which I am finally starting to get > the hang of) I could see that the 'Session' class defined public methods to > both 'get' and 'set' the sequence numbers. Unfortunately, only the 'set' > variants were implemented in the NET counterpart. With some considerable > trial and error on my part, I extended the NET interface to include these > two 'get' methods as well. Do you think you can post the changes you made to include them into the CVS? Thanks. > > sm > > ps. I kept looking for the ugly ATL stuff, but never saw it ... I keep > forgetting this is not COM :) > > pps. How do I get a hold of the "new" repository? Go to the sourceforge page of QuickFIX http://sourceforge.net/projects/quickfix/ and then to the CVS section: http://sourceforge.net/cvs/?group_id=37535 Here you find instruction for anonymous CVS access (read-only). Also you can browse the CVS (see left side tab). Cheers, Jörg |
From: <Sa...@uc...> - 2004-01-20 20:28:59
|
I see... thanks. I was looking for something a little more programmatic. Sometime we are forced to reset our sequence numbers to match those who we are connecting to. At least we have relied upon this kind of functionality in the past. After looking at the docs more closely (which I am finally starting to get the hang of) I could see that the 'Session' class defined public methods to both 'get' and 'set' the sequence numbers. Unfortunately, only the 'set' variants were implemented in the NET counterpart. With some considerable trial and error on my part, I extended the NET interface to include these two 'get' methods as well. sm ps. I kept looking for the ugly ATL stuff, but never saw it ... I keep forgetting this is not COM :) pps. How do I get a hold of the "new" repository? > > Resetting is supposed to be done automatically through the StartTime and > EndTime settings, though this was broken in 1.6, but recently fixed in > the repository. > > The most effective way to do an end of day (after you do an archive for > example) is to simply clear out the store directory, which will force > the session to start from scratch. > > --oren > > > Hello all... > > > > How does one typically run an 'End Of Day' -or- adjust message > sequence > > numbers in general. > > > > Is there an API for this or is it based on manually adjusting the text > file? > > > > Thanks, > > Sam > > > > > > > > ------------------------------------------------------- > > The SF.Net email is sponsored by EclipseCon 2004 > > Premiere Conference on Open Tools Development and Integration > > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > > http://www.eclipsecon.org/osdn > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > > > > ------------------------------------------------- > This mail sent through IMP: http://horde.org/imp/ > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Joerg T. <Joe...@ma...> - 2004-01-20 19:04:37
|
Billy Rutledge wrote: > I'm new to QuickFIX and am looking for pointers for creating a simple > Java app to send/receive basic FIX messages. I've been exploring the > docs and find them a bit confusing, as well as the examples. Can anyone > offer a good starting point or tutorial for building a simple Java app > using QuickFIX? Also, are there any Java API docs available? You have to generate the Java API docs using javadoc yourself. Jörg -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Billy R. <bru...@ra...> - 2004-01-20 18:22:28
|
Hi All- I'm new to QuickFIX and am looking for pointers for creating a simple Java app to send/receive basic FIX messages. I've been exploring the docs and find them a bit confusing, as well as the examples. Can anyone offer a good starting point or tutorial for building a simple Java app using QuickFIX? Also, are there any Java API docs available? Thanks, -Billy |
From: Miller, O. <OM...@ri...> - 2004-01-20 17:10:40
|
Resetting is supposed to be done automatically through the StartTime and EndTime settings, though this was broken in 1.6, but recently fixed in the repository. The most effective way to do an end of day (after you do an archive for example) is to simply clear out the store directory, which will force the session to start from scratch. --oren -----Original Message----- From: gkr...@ba... [mailto:gkr...@ba...]=20 Sent: Tuesday, January 20, 2004 10:51 AM To: Sa...@uc... Cc: qui...@li... Subject: Re: [Quickfix-developers] End of Day Typically you would run cron-jobs to archive the files to a different directory. To reset sequence numbers, there is an API in the Session object (for setting next sequence number to be sent or expected). Or you can edit the .seqnum file for the session (though this is prone to=20 errors in terms of extra spaces/ new lines). .Guru > Hello all... >=20 > How does one typically run an 'End Of Day' -or- adjust message sequence > numbers in general. >=20 > Is there an API for this or is it based on manually adjusting the text file? >=20 > Thanks, > Sam >=20 >=20 >=20 > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers >=20 ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: <gkr...@ba...> - 2004-01-20 16:54:52
|
Typically you would run cron-jobs to archive the files to a different directory. To reset sequence numbers, there is an API in the Session object (for setting next sequence number to be sent or expected). Or you can edit the .seqnum file for the session (though this is prone to errors in terms of extra spaces/ new lines). .Guru > Hello all... > > How does one typically run an 'End Of Day' -or- adjust message sequence > numbers in general. > > Is there an API for this or is it based on manually adjusting the text file? > > Thanks, > Sam > > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ |
From: <Sa...@uc...> - 2004-01-20 15:31:09
|
Hello all... How does one typically run an 'End Of Day' -or- adjust message sequence numbers in general. Is there an API for this or is it based on manually adjusting the text file? Thanks, Sam |
From: Caleb E. <ca...@bk...> - 2004-01-16 19:01:42
|
On Fri, Jan 16, 2004 at 10:57:56AM -0800, Nikhil Bose wrote: > Hi John, I was looking at the Berkeley DB documentation from Sleepy > Cat. Looks great. What I couldn't figure out is where they persist > the database on secondary storage. They don't seem to use an > underlying database, so where is the data persisted? Do they use a > file or have their own database implementation that uses low-level > disk IO? They use a regular file as backing store. In most (all?) cases the data is memory mapped to speed access, but at the end of the day you have a regular file (in Berkeley DB format) on disk. Nothing magic. -- Caleb Epstein | bklyn . org | Death comes on every passing breeze, He lurks cae at | Brooklyn Dust | in every flower; Each season has its own bklyn dot org | Bunny Mfg. | disease, Its peril -- every hour. | | --Reginald Heber |
From: Nikhil B. <ass...@ya...> - 2004-01-16 18:57:56
|
Hi John, I was looking at the Berkeley DB documentation from Sleepy Cat. Looks great. What I couldn't figure out is where they persist the database on secondary storage. They don't seem to use an underlying database, so where is the data persisted? Do they use a file or have their own database implementation that uses low-level disk IO? Nikhil John Muehlhausen <jg...@jg...> wrote: Kenny, I think someone should implement a Berkeley DB store and use the transaction support. Want to volunteer? www.sleepycat.com -John -----Original Message----- From: qui...@li... To: qui...@li... Sent: Mon Jan 12 22:17:38 2004 Subject: [Quickfix-developers] FileStore issues Hi, I've noticed a few potential issues with the FileStore::set method. Namely, that in the event of a write error, the files may be left in a bad state leading to corruption. The the method looks like: if ( fseek( m_msgFile, 0, SEEK_END ) ) throw IOException(); if ( fseek( m_headerFile, 0, SEEK_END ) ) throw IOException(); int offset = ftell( m_msgFile ); if ( offset < 0 ) throw IOException(); int size = msg.size(); if ( fprintf( m_headerFile, "%d,%d,%d ", msgSeqNum, offset, size ) < 0 ) throw IOException(); m_offsets[ msgSeqNum ] = std::make_pair( offset, size ); fwrite( msg.c_str(), sizeof( char ), msg.size(), m_msgFile ); if ( ferror( m_msgFile ) ) throw IOException(); if ( fflush( m_msgFile ) == EOF ) throw IOException(); if ( fflush( m_headerFile ) == EOF ) throw IOException(); return true; So, first off, a file may not be more then 2GB, otherwise the ftell may return a negative number. No sweat, I'm not dealing with such large things yet. The real problems come in the last part where the actual writing is done. If the fprintf fails by running out of space and doing a partial write, nothing is cleaned up. Since a seek to end of file is always done, any future writes will also be affected by the superfluous characters. Same for the fwrite - no cleanup is done on error, thereby leaving the file in a un-usable state. Not only this, but also note that the header info is not rolled-back in the event of failure to persist the message file - leading to corrupt state on recovery. Having said this, I'm not sure I know the correct fix within the restrictions of ANSI C. If this were a POSIX world, I'd use little guard objects to roll back (ftruncate) the header and message files in the event of an error. Is there any interest in a FileStore-compatible POSIX-only MessageStore? thanks, -Kenny __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes |
From: John M. <jg...@jg...> - 2004-01-16 18:41:21
|
Kenny, I think someone should implement a Berkeley DB store and use the = transaction support. Want to volunteer? www.sleepycat.com -John -----Original Message----- From: qui...@li... = <qui...@li...> To: qui...@li... = <qui...@li...> Sent: Mon Jan 12 22:17:38 2004 Subject: [Quickfix-developers] FileStore issues Hi, I've noticed a few potential issues with the FileStore::set method. Namely, that in the event of a write error, the files may be left in a = bad state leading to corruption. The the method looks like: if ( fseek( m_msgFile, 0, SEEK_END ) ) throw IOException(); if ( fseek( m_headerFile, 0, SEEK_END ) ) throw IOException(); int offset =3D ftell( m_msgFile ); if ( offset < 0 ) throw IOException(); int size =3D msg.size(); if ( fprintf( m_headerFile, "%d,%d,%d ", msgSeqNum, offset, size ) < 0 = ) throw IOException(); m_offsets[ msgSeqNum ] =3D std::make_pair( offset, size ); fwrite( msg.c_str(), sizeof( char ), msg.size(), m_msgFile ); if ( ferror( m_msgFile ) ) throw IOException(); if ( fflush( m_msgFile ) =3D=3D EOF ) throw IOException(); if ( fflush( m_headerFile ) =3D=3D EOF ) throw IOException(); return true; So, first off, a file may not be more then 2GB, otherwise the ftell may = return a negative number. No sweat, I'm not dealing with such large things = yet. The real problems come in the last part where the actual writing is = done. If the fprintf fails by running out of space and doing a partial write, = nothing is cleaned up. Since a seek to end of file is always done, any future = writes will also be affected by the superfluous characters. Same for the fwrite - no cleanup is done on error, thereby leaving the = file in a un-usable state. Not only this, but also note that the header info = is not rolled-back in the event of failure to persist the message file - = leading to corrupt state on recovery. Having said this, I'm not sure I know the correct fix within the = restrictions of ANSI C. If this were a POSIX world, I'd use little guard objects to roll back (ftruncate) the header and message files in the event of an error. Is there any interest in a FileStore-compatible POSIX-only = MessageStore? thanks, -Kenny __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Oren M. <ore...@ya...> - 2004-01-15 15:40:42
|
Oh, there is one bit I forgot, you also need to implement this: public __gc __interface MessageStoreFactory { MessageStore* create( SessionID* ) = 0; }; It is just one method which returns an instance of your message store. This is what is actually passed into the Acceptor or Initiator. When QF needs to create a session, it calls the create method in order to create the storage piece. "Sa...@uc..." <sa...@uc...> wrote: Wow, that's it? I continue to be amazed. Thanks! Sam > > It is a pretty simple matter of implementing this interface. I've added > comments about what each method should do. Any of these should throw an > IOException if there is a problem talking to a database. Note this is > the .NET interface so you can implement it in C# or VB.NET and use the > .NET database classes. > > hope this helps > > --oren ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes |
From: <Sa...@uc...> - 2004-01-15 15:05:05
|
Wow, that's it? I continue to be amazed. Thanks! Sam > > It is a pretty simple matter of implementing this interface. I've added > comments about what each method should do. Any of these should throw an > IOException if there is a problem talking to a database. Note this is > the .NET interface so you can implement it in C# or VB.NET and use the > .NET database classes. > <snip> > hope this helps > > --oren |
From: Miller, O. <OM...@ri...> - 2004-01-14 21:26:21
|
It is a pretty simple matter of implementing this interface. I've added comments about what each method should do. Any of these should throw an IOException if there is a problem talking to a database. Note this is the .NET interface so you can implement it in C# or VB.NET and use the .NET database classes. public __gc __interface MessageStore { // persist a single message. The int is the message sequence number // and the string is the actual message. virtual bool set( int sequence, String* message ) throw ( IOException* ); // retrieve a persisted message, return false if message does // not exist virtual bool get( int sequence, String* message ) throw ( IOException* ); // retrieve a range of messages. Only messages that exist should // be returned. Gaps are ok. If there are no messages, return // an empy vector virtual void get( int begin, int end, ArrayList* ) throw ( IOException* ); // these just retrieve/modifier the target and sender compids virtual int getNextSenderMsgSeqNum() throw ( IOException* ); virtual int getNextTargetMsgSeqNum() throw ( IOException* ); virtual void setNextSenderMsgSeqNum( int next ) throw ( IOException* ); virtual void setNextTargetMsgSeqNum( int next ) throw ( IOException* ); virtual void incrNextSenderMsgSeqNum() throw ( IOException* ); virtual void incrNextTargetMsgSeqNum() throw ( IOException* ); // the time at which the session was created( i.e., when reset() was // last called virtual DateTime getCreationTime() throw ( IOException* ); // reset everything. Clear all messages out, set sequence numbers to 1 // and set the creation time virtual void reset() throw ( IOException* ); }; hope this helps --oren -----Original Message----- From: Sa...@uc... [mailto:sa...@uc...]=20 Sent: Wednesday, January 14, 2004 8:41 AM To: Quickfix-Developers Subject: [Quickfix-developers] DBMS Support Hello all... Would anyone have any examples on how to provide DBMS support for other DBMS systems (sybase,mssqlsvr). I took a long look at MySQLMessageStore.h and ... I have no idea how to make my own :( ...on a good note, I've been making good progress on writing a Fix interface to the Nasdaq SuperMontage. This is the third time I'm writing this (third fix engine). It's been slow going, because I have yet to take the "NET" plunge - until now - (another reason why using this product has been good for me). I've been writing fix interfaces for a few years now, with several engines, most of which ended up as bad experiences. As far as functionality, implementation and creativity, I'd say this product is right up there... great stuff! Thanks, Sam ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: <Sa...@uc...> - 2004-01-14 14:41:07
|
Hello all... Would anyone have any examples on how to provide DBMS support for other DBMS systems (sybase,mssqlsvr). I took a long look at MySQLMessageStore.h and ... I have no idea how to make my own :( ...on a good note, I've been making good progress on writing a Fix interface to the Nasdaq SuperMontage. This is the third time I'm writing this (third fix engine). It's been slow going, because I have yet to take the "NET" plunge - until now - (another reason why using this product has been good for me). I've been writing fix interfaces for a few years now, with several engines, most of which ended up as bad experiences. As far as functionality, implementation and creativity, I'd say this product is right up there... great stuff! Thanks, Sam |
From: <ia...@ya...> - 2004-01-14 12:37:28
|
Hi Oren, I don't think the problem comes from " isSameSession ", we rewrote this function entirely for our purpose, but there is a solution in the OnStart member function of ThradedSocketInitiator class: OnStart() makes only one call to Initiator::connect(), before doing a loop that ends when the thread is killed. If The connect() function is also called in the loop, it works well, but I am not sure whether the call to connect() so often will have an impact on the performances of the application, or even on its correct behaviour (do we enter the for loop when all sessions are up ?). Could you give me more precisions on this? regards yann qui...@li... wrote: Send Quickfix-developers mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfix-developers or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfix-developers digest..." Today's Topics: 1. no reconnection with ThreadedSocketInitiator (=?iso-8859-1?q?yann=20vermeulen?=) 2. RE: no reconnection with ThreadedSocketInitiator (Vitor Castro) 3. RE: no reconnection with ThreadedSocketInitiator (Oren Miller) 4. Re: Version neutral message cracker? (Oren Miller) --__--__-- Message: 1 Date: Mon, 12 Jan 2004 18:02:22 +0100 (CET) From: =?iso-8859-1?q?yann=20vermeulen?= To: qui...@li... Subject: [Quickfix-developers] no reconnection with ThreadedSocketInitiator --0-362637585-1073926942=:71572 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, I have Quickfix running on Sun Solaris, and I have a problem with initiators: when the process is started out of the session times, it does not try to connect to the server when the session start time is reached. I remember using versions of Quickfix knowing no problem with reconnections for initiators, has something changed in the code ? Is there a way to guarantee the reconnection? thanks yann --------------------------------- Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Testez le nouveau Yahoo! Mail --0-362637585-1073926942=:71572 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, I have Quickfix running on Sun Solaris, and I have a problem with initiators: when the process is started out of the session times, it does not try to connect to the server when the session start time is reached. I remember using versions of Quickfix knowing no problem with reconnections for initiators, has something changed in the code ? Is there a way to guarantee the reconnection? thanks yann --------------------------------- Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Testez le nouveau Yahoo! Mail --0-362637585-1073926942=:71572-- --__--__-- Message: 2 From: "Vitor Castro" To: "'yann vermeulen'" , Subject: RE: [Quickfix-developers] no reconnection with ThreadedSocketInitiator Date: Tue, 13 Jan 2004 09:13:23 -0000 Organization: HiperBit This is a multi-part message in MIME format. ------=_NextPart_000_002D_01C3D9B5.7ECA21F0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Yann, =20 That problem doesn't occur only on Solaris, I'm using windows and I get = the same behaviour. I don't know if that's the case but in my installation I also get the annoying problem, to say the least, that after the end of = the session the initiator disconnects and keeps connecting and disconnecting = all the way to the start of the next session. Of course the sequence numbers = get quite out of sync in the process. I already had posted the problem a few weeks back but got no pointers as = to fix the problem and get the behaviour that previous versions of QF had, = so I had to implement a session scheduler that checks for the session times = and starts/stops the engines as needed. I'd would also like to ear the opinion from the more experience guys = here on the list about this. =20 thanks =20 Vitor Castro | DIS =20 _____ =20 From: qui...@li... [mailto:qui...@li...] On Behalf Of = yann vermeulen Sent: segunda-feira, 12 de Janeiro de 2004 17:02 To: qui...@li... Subject: [Quickfix-developers] no reconnection with = ThreadedSocketInitiator Hi all, =20 I have Quickfix running on Sun Solaris, and I have a problem with initiators: when the process is started out of the session times, it = does not try to connect to the server when the session start time is reached. =20 I remember using versions of Quickfix knowing no problem with = reconnections for initiators, has something changed in the code ? Is there a way to guarantee the reconnection? thanks =20 yann _____ =20 Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran=E7ais ! Testez le nouveau Yahoo! Mail ------=_NextPart_000_002D_01C3D9B5.7ECA21F0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable charset=3Diso-8859-1"> size=3D2>class=3D115210509-13012004>Hi Yann, size=3D2>class=3D115210509-13012004> size=3D2>class=3D115210509-13012004>That problem doesn't occur only on Solaris, = I'm using=20 windows and I get the same behaviour. I don't know if that's the case = but in my=20 installation I also get the annoying problem, to say the least, = that after=20 the end of the session the initiator disconnects and keeps connecting = and=20 disconnecting all the way to the start of the next session. Of course = the=20 sequence numbers get quite out of sync in the = process. size=3D2>class=3D115210509-13012004>I already had posted the problem a few weeks = back but=20 got no pointers as to fix the problem and get the behaviour that = previous=20 versions of QF had, so I had to implement a session scheduler that = checks for=20 the session times and starts/stops the engines as = needed. size=3D2>class=3D115210509-13012004>I'd would also like to ear the opinion from = the more=20 experience guys here on the list about this. size=3D2>class=3D115210509-13012004> size=3D2>class=3D115210509-13012004>thanks align=3Dcenter>style=3D"FONT-SIZE: 10pt; COLOR: #130e7c; FONT-FAMILY: 'Trebuchet MS'; = mso-ansi-language: PT">Vitor=20 Castro | DIS style=3D"FONT-SIZE: 7.5pt; COLOR: #170d73; FONT-FAMILY: Verdana; = mso-ansi-language: PT"><style=3D"FONT-SIZE: 7.5pt; COLOR: gray; FONT-FAMILY: Verdana; = mso-ansi-language: PT">href=3D"mailto:vc...@hi...">mailto:vc...@hi...= style=3D"FONT-SIZE: 7.5pt; COLOR: #170d73; FONT-FAMILY: Verdana; = mso-ansi-language: PT">>style=3D"FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Trebuchet MS'; = mso-ansi-language: PT">prefix =3D o ns =3D "urn:schemas-microsoft-com:office:office"=20 /> --------------------------------- From:=20 qui...@li...=20 [mailto:qui...@li...] On Behalf Of = yann vermeulen Sent: segunda-feira, 12 de Janeiro de 2004=20 17:02 To: = qui...@li... Subject:=20 [Quickfix-developers] no reconnection with=20 ThreadedSocketInitiator Hi all, I have Quickfix running on Sun Solaris, and I have a problem with=20 initiators: when the process is started out of the session times, it = does not=20 try to connect to the server when the session start time is = reached. I remember using versions of Quickfix knowing no problem with = reconnections=20 for initiators, has something changed in the code ? Is there a way to = guarantee=20 the reconnection? thanks yann --------------------------------- Do You Yahoo!? -- Une adresse @yahoo.fr = gratuite et en=20 fran=E7ais ! Testez le nouveau = Yahoo!=20 Mail ------=_NextPart_000_002D_01C3D9B5.7ECA21F0-- --__--__-- Message: 3 Date: Tue, 13 Jan 2004 06:25:34 -0800 (PST) From: Oren Miller Subject: RE: [Quickfix-developers] no reconnection with ThreadedSocketInitiator To: Vitor Castro , 'yann vermeulen' , qui...@li... I believe this describes a problem that has been fixed in the repository. The problem was that isSameSession was not cummutative causing a certain order of parameters to always return true, thus never ending the session. Here is a link to the fix: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/Session.cpp?r1=1.25&r2=1.26 as well as the new test case: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/test/SessionTestCase.cpp?r1=1.7&r2=1.8 --- Vitor Castro wrote: > Hi Yann, > > That problem doesn't occur only on Solaris, I'm > using windows and I get the > same behaviour. I don't know if that's the case but > in my installation I > also get the annoying problem, to say the least, > that after the end of the > session the initiator disconnects and keeps > connecting and disconnecting all > the way to the start of the next session. Of course > the sequence numbers get > quite out of sync in the process. > I already had posted the problem a few weeks back > but got no pointers as to > fix the problem and get the behaviour that previous > versions of QF had, so I > had to implement a session scheduler that checks for > the session times and > starts/stops the engines as needed. > I'd would also like to ear the opinion from the more > experience guys here on > the list about this. > > thanks > > > Vitor Castro | DIS > > > > > _____ > > From: > qui...@li... > [mailto:qui...@li...] > On Behalf Of yann > vermeulen > Sent: segunda-feira, 12 de Janeiro de 2004 17:02 > To: qui...@li... > Subject: [Quickfix-developers] no reconnection with > ThreadedSocketInitiator > > > Hi all, > > I have Quickfix running on Sun Solaris, and I have a > problem with > initiators: when the process is started out of the > session times, it does > not try to connect to the server when the session > start time is reached. > > I remember using versions of Quickfix knowing no > problem with reconnections > for initiators, has something changed in the code ? > Is there a way to > guarantee the reconnection? > thanks > > yann > > > > > _____ > > Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et > en français ! > Testez le nouveau Yahoo! > Mail > __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus --__--__-- Message: 4 Date: Tue, 13 Jan 2004 07:26:10 -0800 (PST) From: Oren Miller Subject: Re: [Quickfix-developers] Version neutral message cracker? To: John Muehlhausen , qui...@li... --0-1206960398-1074007570=:15978 Content-Type: text/plain; charset=us-ascii If you intend on writing a significant amount of code, then the message cracker may not be the best choice. Instead you can just check the MsgType yourself and work without the type system. Or you may want to use the cracker delegate the non version specific code. For instance: onNewOrderSingle( const Message&, const SessionID& ) { // common code between versions } onMessage( const FIX41::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } onMessage( const FIX42::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } The problem with a version neutral cracker is there really is no relationship between the same messages in different versions, so there isn't really in inheritence structure. In fact I believe, though not sure, some messages may have even changed names between versions which makes things a little tricky. Otherwise such a cracker would be possible to generate, but the use of the type system would not be an option. An example of version neutral code in QuickFIX can be found in Session.cpp. Versions are only checked when there is different behavior. This file may give you some ideas on how to handle this. John Muehlhausen wrote: Forgive me if this should be obvious: Is there a message cracker that is version neutral? It seems that this would be handy when the message handling is almost the same across versions, which is usually the case. ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes --0-1206960398-1074007570=:15978 Content-Type: text/html; charset=us-ascii If you intend on writing a significant amount of code, then the message cracker may not be the best choice. Instead you can just check the MsgType yourself and work without the type system. Or you may want to use the cracker delegate the non version specific code. For instance: onNewOrderSingle( const Message&, const SessionID& ) { // common code between versions } onMessage( const FIX41::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } onMessage( const FIX42::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } The problem with a version neutral cracker is there really is no relationship between the same messages in different versions, so there isn't really in inheritence structure. In fact I believe, though not sure, some messages may have even changed names between versions which makes things a little tricky. Otherwise such a cracker would be possible to generate, but the use of the type system would not be an option. An example of version neutral code in QuickFIX can be found in Session.cpp. Versions are only checked when there is different behavior. This file may give you some ideas on how to handle this. John Muehlhausen <jg...@jg...> wrote: Forgive me if this should be obvious: Is there a message cracker that is version neutral? It seems that this would be handy when the message handling is almost the same across versions, which is usually the case. ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes --0-1206960398-1074007570=:15978-- --__--__-- _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers End of Quickfix-developers Digest --------------------------------- Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Testez le nouveau Yahoo! Mail |
From: Guru K <gg...@ba...> - 2004-01-14 08:31:27
|
I am running into the issue of the same message inserted in incoming_log many times.. Has anyone found out a cause? There was a post on this in Nov 2003. I'm using the build of Oct 2003. Regards, Guru. >Message: 1 >From: "Andrew" <andrew@nm...> >To: <quickfix-developers@li...> >Date: Wed, 29 Oct 2003 10:26:05 -0600 >Subject: [Quickfix-developers] Duplicate messages in incoming_log many times. > >I have found the same message inserted into my incoming_log many times in a >row. Only the ID and time fields change. These duplicate messages appear >about 450 times each second. Has anyone seen this or does anyone havea >solution? > > >Thanks, >Andrew Munn >andrew@nm... > Hi Andrew, 1. Duplicate messages in incoming_log many times. (Andrew) Yes - just last week I saw exactly this same issue - does your session recover - because I stop receiving anything else - and this seems to be an endless loop - I am using the QF .NET assembly and can see that a SEH is being raised in the interop .NET layers. There seems to be no recovery from this other than to shutdown and restart - but I cannot guarantee that the system does recover. It does seem to be on the incoming link of the session as the outgoing is still validly dispatching. Also, for now I have only been able to show the error in incoming on the initiator side - but that could be due to the higher receive load on the initiator side. I have not run any tests to see if threading could be an issue - my collegue will probably be doing that and we will postback whatever we find. ciao MurphyPA |
From: Oren M. <ore...@ya...> - 2004-01-13 15:26:17
|
If you intend on writing a significant amount of code, then the message cracker may not be the best choice. Instead you can just check the MsgType yourself and work without the type system. Or you may want to use the cracker delegate the non version specific code. For instance: onNewOrderSingle( const Message&, const SessionID& ) { // common code between versions } onMessage( const FIX41::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } onMessage( const FIX42::NewOrderSingle&, const SessionID& ) { onNewOrderSingle( ... ); // version specific code } The problem with a version neutral cracker is there really is no relationship between the same messages in different versions, so there isn't really in inheritence structure. In fact I believe, though not sure, some messages may have even changed names between versions which makes things a little tricky. Otherwise such a cracker would be possible to generate, but the use of the type system would not be an option. An example of version neutral code in QuickFIX can be found in Session.cpp. Versions are only checked when there is different behavior. This file may give you some ideas on how to handle this. John Muehlhausen <jg...@jg...> wrote: Forgive me if this should be obvious: Is there a message cracker that is version neutral? It seems that this would be handy when the message handling is almost the same across versions, which is usually the case. ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes |
From: Oren M. <ore...@ya...> - 2004-01-13 14:25:40
|
I believe this describes a problem that has been fixed in the repository. The problem was that isSameSession was not cummutative causing a certain order of parameters to always return true, thus never ending the session. Here is a link to the fix: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/Session.cpp?r1=1.25&r2=1.26 as well as the new test case: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/test/SessionTestCase.cpp?r1=1.7&r2=1.8 --- Vitor Castro <vc...@hi...> wrote: > Hi Yann, > > That problem doesn't occur only on Solaris, I'm > using windows and I get the > same behaviour. I don't know if that's the case but > in my installation I > also get the annoying problem, to say the least, > that after the end of the > session the initiator disconnects and keeps > connecting and disconnecting all > the way to the start of the next session. Of course > the sequence numbers get > quite out of sync in the process. > I already had posted the problem a few weeks back > but got no pointers as to > fix the problem and get the behaviour that previous > versions of QF had, so I > had to implement a session scheduler that checks for > the session times and > starts/stops the engines as needed. > I'd would also like to ear the opinion from the more > experience guys here on > the list about this. > > thanks > > > Vitor Castro | DIS > <mailto:vc...@hi...> > > > > _____ > > From: > qui...@li... > [mailto:qui...@li...] > On Behalf Of yann > vermeulen > Sent: segunda-feira, 12 de Janeiro de 2004 17:02 > To: qui...@li... > Subject: [Quickfix-developers] no reconnection with > ThreadedSocketInitiator > > > Hi all, > > I have Quickfix running on Sun Solaris, and I have a > problem with > initiators: when the process is started out of the > session times, it does > not try to connect to the server when the session > start time is reached. > > I remember using versions of Quickfix knowing no > problem with reconnections > for initiators, has something changed in the code ? > Is there a way to > guarantee the reconnection? > thanks > > yann > > > > > _____ > > Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et > en français ! > Testez le nouveau Yahoo! <http://fr.mail.yahoo.com> > Mail > __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus |