quickfix-users Mailing List for QuickFIX (Page 20)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <or...@qu...> - 2010-03-23 17:45:43
|
Thanks for publishing the steps. This will help us in the future to include windows python support out of the box. --oren > -------- Original Message -------- > Subject: Re: [Quickfix-users] build python bindings in windows? > From: Gunter Jeschawitz <ma...@je...> > Date: Mon, March 22, 2010 2:24 pm > To: qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello, > > I realized it with the following steps(from memory) > > - Install swig for windows > - Create a swig.bat (like swig.sh) and rebuild QuickfixPhyton.cpp/h > - Create a dll-project in Visual Studio and add both files to the project. > - Disable optimization(!!!), disable precompiled header, set output to _quickfix.pyd and define __WIN32__. > - Set include and lib path to python and quickfix > - Build it, copy Files *.py and _quickfix.pyd to lib/python > > Good luck! > > Max > > Am 17.03.2010 um 23:12 schrieb or...@qu...: > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > Currently there is not, we are working on this for a future release. > > > > --oren > > > >> -------- Original Message -------- > >> Subject: [Quickfix-users] build python bindings in windows? > >> From: George Coles <geo...@qu...> > >> Date: Wed, March 17, 2010 4:01 pm > >> To: "qui...@li..." > >> <qui...@li...> > >> > >> > >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > >> QuickFIX Support: http://www.quickfixengine.org/services.html<hr>I do not see an obvious way to build the python bindings under windows. I tried to build using automake on ubuntu 10.3 but had no luck. Is it possible to build the python bindings under windows?<hr>------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ > >> Quickfix-users mailing list > >> Qui...@li... > >> https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > Quickfix-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: <or...@qu...> - 2010-03-23 17:38:04
|
The problem with that is it would presume a single data dictionary provider per application, which might not always be the case. --oren > -------- Original Message -------- > Subject: [Quickfix-users] Access to DataDictionary > From: Marc Rossi <mro...@gm...> > Date: Sat, March 20, 2010 4:13 pm > To: qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>Trying to get easy access to the DataDictionary from within a method that > only has a FIX::Message reference to work with. My current solution is as > follows: > > std::string hdrStr; > m_message.getHeader().calculateString(hdrStr); > > FIX::BeginString beginString; > m_message.getHeader().getField(beginString); > > FIX::Session *session = FIX::Session::lookupSession(hdrStr, true); > const FIX::DataDictionaryProvider& ddp = > session->getDataDictionaryProvider(); > const FIX::DataDictionary& dd = > ddp.getSessionDataDictionary(beginString); > > The only issue this presents is that the > DataDictionaryProvider::getSessionDataDictionary() method is not const > friendly > (neither is the getApplicationDataDictionary() method). I have provided > patches for both DataDictionaryProvider.h & .cpp > to make those methods const friendly. > > One question I have is if there is any reason the DataDictionaryProvider > class can't provide static methods to return > DataDictionary references? So instead of jumping through the hoops above I > could simply do a: > > const FIX::DataDictionary& dd = > FIX::DataDictionaryProvider::getDataDictionary(beginString); > > Any thoughts? > > TIA, > Marc > > > --- /tmpi/quickfix/src/C++/DataDictionaryProvider.h 2010-03-07 > 20:26:26.000000000 -0600 > +++ DataDictionaryProvider.h 2010-03-19 13:53:12.000000000 -0500 > @@ -44,10 +44,10 @@ > DataDictionaryProvider() {} > DataDictionaryProvider( const DataDictionaryProvider& copy ); > > - const DataDictionary& getSessionDataDictionary(const BeginString& > beginString) > + const DataDictionary& getSessionDataDictionary(const BeginString& > beginString) const > throw( DataDictionaryNotFound ); > > - const DataDictionary& getApplicationDataDictionary(const ApplVerID& > applVerID) > + const DataDictionary& getApplicationDataDictionary(const ApplVerID& > applVerID) const > throw( DataDictionaryNotFound ); > > void addTransportDataDictionary(const BeginString& beginString, const > DataDictionary& dd); > > > --- /home/mrossi/quickfix/src/C++/DataDictionaryProvider.cpp 2010-03-07 > 20:26:26.000000000 -0600 > +++ DataDictionaryProvider.cpp 2010-03-19 13:54:44.000000000 -0500 > @@ -36,9 +36,9 @@ > } > > const DataDictionary& DataDictionaryProvider::getSessionDataDictionary > -(const BeginString& beginString) throw( DataDictionaryNotFound ) > +(const BeginString& beginString) const throw( DataDictionaryNotFound ) > { > - std::map<std::string, DataDictionary>::iterator find = > + std::map<std::string, DataDictionary>::const_iterator find = > m_transportDictionaries.find(beginString); > if( find != m_transportDictionaries.end() ) > return find->second; > @@ -47,9 +47,9 @@ > } > > const DataDictionary& DataDictionaryProvider::getApplicationDataDictionary > -(const ApplVerID& applVerID) throw( DataDictionaryNotFound ) > +(const ApplVerID& applVerID) const throw( DataDictionaryNotFound ) > { > - std::map<std::string, DataDictionary>::iterator find = > + std::map<std::string, DataDictionary>::const_iterator find = > m_applicationDictionaries.find(applVerID); > if( find != m_applicationDictionaries.end() ) > return find->second;<hr>------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Gunter J. <ma...@je...> - 2010-03-22 19:49:33
|
Hello, I realized it with the following steps(from memory) - Install swig for windows - Create a swig.bat (like swig.sh) and rebuild QuickfixPhyton.cpp/h - Create a dll-project in Visual Studio and add both files to the project. - Disable optimization(!!!), disable precompiled header, set output to _quickfix.pyd and define __WIN32__. - Set include and lib path to python and quickfix - Build it, copy Files *.py and _quickfix.pyd to lib/python Good luck! Max Am 17.03.2010 um 23:12 schrieb or...@qu...: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Currently there is not, we are working on this for a future release. > > --oren > >> -------- Original Message -------- >> Subject: [Quickfix-users] build python bindings in windows? >> From: George Coles <geo...@qu...> >> Date: Wed, March 17, 2010 4:01 pm >> To: "qui...@li..." >> <qui...@li...> >> >> >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html<hr>I do not see an obvious way to build the python bindings under windows. I tried to build using automake on ubuntu 10.3 but had no luck. Is it possible to build the python bindings under windows?<hr>------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Marc R. <mro...@gm...> - 2010-03-20 21:13:52
|
Trying to get easy access to the DataDictionary from within a method that only has a FIX::Message reference to work with. My current solution is as follows: std::string hdrStr; m_message.getHeader().calculateString(hdrStr); FIX::BeginString beginString; m_message.getHeader().getField(beginString); FIX::Session *session = FIX::Session::lookupSession(hdrStr, true); const FIX::DataDictionaryProvider& ddp = session->getDataDictionaryProvider(); const FIX::DataDictionary& dd = ddp.getSessionDataDictionary(beginString); The only issue this presents is that the DataDictionaryProvider::getSessionDataDictionary() method is not const friendly (neither is the getApplicationDataDictionary() method). I have provided patches for both DataDictionaryProvider.h & .cpp to make those methods const friendly. One question I have is if there is any reason the DataDictionaryProvider class can't provide static methods to return DataDictionary references? So instead of jumping through the hoops above I could simply do a: const FIX::DataDictionary& dd = FIX::DataDictionaryProvider::getDataDictionary(beginString); Any thoughts? TIA, Marc --- /tmpi/quickfix/src/C++/DataDictionaryProvider.h 2010-03-07 20:26:26.000000000 -0600 +++ DataDictionaryProvider.h 2010-03-19 13:53:12.000000000 -0500 @@ -44,10 +44,10 @@ DataDictionaryProvider() {} DataDictionaryProvider( const DataDictionaryProvider& copy ); - const DataDictionary& getSessionDataDictionary(const BeginString& beginString) + const DataDictionary& getSessionDataDictionary(const BeginString& beginString) const throw( DataDictionaryNotFound ); - const DataDictionary& getApplicationDataDictionary(const ApplVerID& applVerID) + const DataDictionary& getApplicationDataDictionary(const ApplVerID& applVerID) const throw( DataDictionaryNotFound ); void addTransportDataDictionary(const BeginString& beginString, const DataDictionary& dd); --- /home/mrossi/quickfix/src/C++/DataDictionaryProvider.cpp 2010-03-07 20:26:26.000000000 -0600 +++ DataDictionaryProvider.cpp 2010-03-19 13:54:44.000000000 -0500 @@ -36,9 +36,9 @@ } const DataDictionary& DataDictionaryProvider::getSessionDataDictionary -(const BeginString& beginString) throw( DataDictionaryNotFound ) +(const BeginString& beginString) const throw( DataDictionaryNotFound ) { - std::map<std::string, DataDictionary>::iterator find = + std::map<std::string, DataDictionary>::const_iterator find = m_transportDictionaries.find(beginString); if( find != m_transportDictionaries.end() ) return find->second; @@ -47,9 +47,9 @@ } const DataDictionary& DataDictionaryProvider::getApplicationDataDictionary -(const ApplVerID& applVerID) throw( DataDictionaryNotFound ) +(const ApplVerID& applVerID) const throw( DataDictionaryNotFound ) { - std::map<std::string, DataDictionary>::iterator find = + std::map<std::string, DataDictionary>::const_iterator find = m_applicationDictionaries.find(applVerID); if( find != m_applicationDictionaries.end() ) return find->second; |
From: <or...@qu...> - 2010-03-17 22:12:11
|
Currently there is not, we are working on this for a future release. --oren > -------- Original Message -------- > Subject: [Quickfix-users] build python bindings in windows? > From: George Coles <geo...@qu...> > Date: Wed, March 17, 2010 4:01 pm > To: "qui...@li..." > <qui...@li...> > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>I do not see an obvious way to build the python bindings under windows. I tried to build using automake on ubuntu 10.3 but had no luck. Is it possible to build the python bindings under windows?<hr>------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: George C. <geo...@qu...> - 2010-03-17 21:16:51
|
I do not see an obvious way to build the python bindings under windows. I tried to build using automake on ubuntu 10.3 but had no luck. Is it possible to build the python bindings under windows? |
From: Kenny S. <ks...@co...> - 2010-03-12 03:12:23
|
Can you post the code used to create your message? -- Kenny Stone Connamara Systems, LLC On Thu, Mar 11, 2010 at 8:25 PM, ka wone <ka...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > This message is in 2 parts :) > > *FIRST PART:* > > Into production we had this message sent into the network (extract from our > log file): > 8=FIX.4.2* 9=199* 35=D* 34=2968 *49=VMI* 52=20100310-14:35:44.809* > 56=VMI17165* 11=d2c2c9a4-94c9-40a1-b249-6f2a2a16ed95* 21=1 *38=100 *40=2 > *44=41.76* 54=1* 55=G* 59=0* 60=20100310-09:35:44* 100=TSX* 207=TSX* 7201=IN > *7212=N *10=030 > > However this message was not right. There was one tag missing, a custom tag > with its value: 7208=220. > If you take the message as it, the bodylength (tag 9) would have been 190 > and the checksum (tag 10) would have been 123. > If you add the missing part, 7208=220 + <SOH> character (delimiter), you > would obtain 9=199 and 10=030, which is coherent with the message. > > How this could have happened? I mean doesn't QFIX check these two tags > BEFORE sending a message on the network? > How can I prevent this to happen in the future? > > > *SECOND PART:* > * > * > In response to that, our vendor sent us a ResendRequest for this message. > Unfortunaltly the message in the BODY file was strictly identical to the one > into the log file. QFix didn't take any of the following actions (extract > of the FIX specs): > > "Upon receipt of a Resend Request, the resender can respond in one of three > ways: > 1. retransmit the requested messages (in order) with the original sequence > numbers and > PossDupFlag set to “Y” > 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace > the retransmission > of administrative and application messages > 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence > number > synchronization." > > By default QFix should have taken the step 1 but the message was > corrupted! > - What QFix should have done in this scenario or what sould have I done? > - How can I prevent this to happen into the future? > > > Thanks for your help, > Kamel > > > Ps: If you wonder, our custom tag is an integer and we use it correctly so > there is no link with this discussion: > http://old.nabble.com/Invalid-Message-td17332539.html > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: ka w. <ka...@gm...> - 2010-03-12 02:25:19
|
Hi, This message is in 2 parts :) *FIRST PART:* Into production we had this message sent into the network (extract from our log file): 8=FIX.4.2*9=199 *35=D*34=2968*49=VMI*52=20100310-14:35:44.809*56=VMI17165*11=d2c2c9a4-94c9-40a1-b249-6f2a2a16ed95*21=1*38=100*40=2*44=41.76*54=1*55=G*59=0*60=20100310-09:35:44*100=TSX*207=TSX*7201=IN*7212=N* 10=030 However this message was not right. There was one tag missing, a custom tag with its value: 7208=220. If you take the message as it, the bodylength (tag 9) would have been 190 and the checksum (tag 10) would have been 123. If you add the missing part, 7208=220 + <SOH> character (delimiter), you would obtain 9=199 and 10=030, which is coherent with the message. How this could have happened? I mean doesn't QFIX check these two tags BEFORE sending a message on the network? How can I prevent this to happen in the future? *SECOND PART:* * * In response to that, our vendor sent us a ResendRequest for this message. Unfortunaltly the message in the BODY file was strictly identical to the one into the log file. QFix didn't take any of the following actions (extract of the FIX specs): "Upon receipt of a Resend Request, the resender can respond in one of three ways: 1. retransmit the requested messages (in order) with the original sequence numbers and PossDupFlag set to “Y” 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace the retransmission of administrative and application messages 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence number synchronization." By default QFix should have taken the step 1 but the message was corrupted! - What QFix should have done in this scenario or what sould have I done? - How can I prevent this to happen into the future? Thanks for your help, Kamel Ps: If you wonder, our custom tag is an integer and we use it correctly so there is no link with this discussion: http://old.nabble.com/Invalid-Message-td17332539.html |
From: ka w. <ka...@gm...> - 2010-03-11 05:10:56
|
I think I found part of the problem. The vendor sent me a resendRequest with a BeginSeqNo=2968 and EndSeqNum=0. In log4FIX, on the message 2968, I can read "Message Errors (NewOrderSingle): Actual body length=190, Expected body length=199". - What should I do if a body length is not the one expected? - How this could have happened? - is it normal that QFIX didn't take any action after the resendRequest? - is there anything that I should have done? Thanks, Kamel 2010/3/10 Kenny Stone <ks...@co...> > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Are you sure there was no reject from your app? > > Can you replicate this in your vendor's test environment? > > Can you replicate using the exact resend request string the vendor sent and > a fixtest <http://github.com/quickfix/quickfix/tree/master/test/>? > > -- > Kenny Stone > Connamara Systems, LLC > > > On Wed, Mar 10, 2010 at 9:56 PM, ka wone <ka...@gm...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Hi, >> >> Into production today we received a resend request. Unfortunately and as a >> surprise QFix didn't take any of the following actions (extract of the FIX >> specs): >> >> "Upon receipt of a Resend Request, the resender can respond in one of >> three ways: >> 1. retransmit the requested messages (in order) with the original sequence >> numbers and >> PossDupFlag set to “Y” >> 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace >> the retransmission >> of administrative and application messages >> 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence >> number >> synchronization." >> >> I know that QFIX should by default adopt the solution 1. I have tested >> this with a simple Initiator/Acceptor project and QFix behaves correctly >> without even putting *SendRedundantResendRequests =Y.* >> Moreover I know that all requested messages are present in the BODY file. >> >> But here is the problem. How this could have happened into production? >> Does anyone has experienced the same problem? >> Does putting *SendRedundantResendRequests =Y could help on anything?* >> >> Thanks, >> Kamel >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: Kenny S. <ks...@co...> - 2010-03-11 04:08:29
|
Are you sure there was no reject from your app? Can you replicate this in your vendor's test environment? Can you replicate using the exact resend request string the vendor sent and a fixtest <http://github.com/quickfix/quickfix/tree/master/test/>? -- Kenny Stone Connamara Systems, LLC On Wed, Mar 10, 2010 at 9:56 PM, ka wone <ka...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > Into production today we received a resend request. Unfortunately and as a > surprise QFix didn't take any of the following actions (extract of the FIX > specs): > > "Upon receipt of a Resend Request, the resender can respond in one of three > ways: > 1. retransmit the requested messages (in order) with the original sequence > numbers and > PossDupFlag set to “Y” > 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace > the retransmission > of administrative and application messages > 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence > number > synchronization." > > I know that QFIX should by default adopt the solution 1. I have tested this > with a simple Initiator/Acceptor project and QFix behaves correctly without > even putting *SendRedundantResendRequests =Y.* > Moreover I know that all requested messages are present in the BODY file. > > But here is the problem. How this could have happened into production? > Does anyone has experienced the same problem? > Does putting *SendRedundantResendRequests =Y could help on anything?* > > Thanks, > Kamel > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: ka w. <ka...@gm...> - 2010-03-11 03:56:18
|
Hi, Into production today we received a resend request. Unfortunately and as a surprise QFix didn't take any of the following actions (extract of the FIX specs): "Upon receipt of a Resend Request, the resender can respond in one of three ways: 1. retransmit the requested messages (in order) with the original sequence numbers and PossDupFlag set to “Y” 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace the retransmission of administrative and application messages 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence number synchronization." I know that QFIX should by default adopt the solution 1. I have tested this with a simple Initiator/Acceptor project and QFix behaves correctly without even putting *SendRedundantResendRequests =Y.* Moreover I know that all requested messages are present in the BODY file. But here is the problem. How this could have happened into production? Does anyone has experienced the same problem? Does putting *SendRedundantResendRequests =Y could help on anything?* Thanks, Kamel |
From: <or...@qu...> - 2010-03-08 15:17:08
|
Thanks to everyone for all the feedback we've been getting from the latest release. So far things have gone well and there haven't been any reports of severe bugs. None the less there have been some bug reports that I felt needed to be addressed with a point release. The most significant of these are do to repeating groups. One of these is related to resent messages with repeating groups in a FIXT11 transport. The resent messages would not have the repeating group fields in the proper order. Another similar bug manifest itself if you do a deep copy of a Group object. If you do any work with repeating groups, then this release is important for you. You will also need this release if you use the ODBC message store. A more complete list of updates, as always, can be found here: http://www.quickfixengine.org/NEWS |
From: <or...@qu...> - 2010-03-08 05:12:00
|
I'm hoping to once and for all looking to address the legitimate criticisms regarding the QuickFIX documentation. I think there is a lot we can do to make the adoption experience smoother fornew users. Since all of you had to go through the pain of learning the FIX protocol and the QuickFIX library, I feel this crowd will have a lot of useful feedback. Since so many of you have signed up for the forums, I thought that would be an appropriate place to have a more in depth discussion. For those of you on the forums, please visit this thread: http://www.quickfixengine.org/forum/comments.php?DiscussionID=6 Otherwise feel free to comment on the mailing list, to myself or as...@qu... |
From: ka w. <ka...@gm...> - 2010-03-04 23:56:58
|
Interesting, thanks! 2010/3/4 ka wone <ka...@gm...> > Thanks Kenny for the quick answer. > > However I have an other question :). Are both: > public void onLogout(QuickFix.SessionID pSessionID) { } and public > override void onMessage(QuickFix42.Logout order, SessionID psessionID){ } > called? > What are the differences between these two methods? > Same reflexion with public override void onMessage(QuickFix42.Logon order, > SessionID psessionID){ } and public void onLogon(QuickFix.SessionID > pSessionID) { }. > > Thanks, > Kamel > > > 2010/3/3 Kenny Stone <ks...@co...> > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> onLogout <http://quickfixengine.org/quickfix/doc/html/application.html>() >> is called when there is a disconnect. >> >> >> *onLogout* notifies you when an FIX session is no longer online. This >> could happen during a normal logout exchange or because of a forced >> termination or a loss of network connection. >> >> >> -- >> Kenny Stone >> Connamara Systems, LLC >> >> >> On Wed, Mar 3, 2010 at 2:29 PM, ka wone <ka...@gm...> wrote: >> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> >>> Hello, >>> >>> I would like to know the state of my session or, better, know when the >>> network is down through QuickFix. >>> Several solutions: >>> - Check if we receive at regular intervals the heartbeat messages >>> - Check if the socketInnitiator has its isLoggedOn property turned to on. >>> >>> However I would like to think there is a better way to achieve this. >>> Can anyone help me? >>> >>> Thanks, >>> Kamel >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> Quickfix-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-users >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > |
From: <or...@qu...> - 2010-03-04 23:21:44
|
Have you looked at the stop() method in the Initiator? --oren > -------- Original Message -------- > Subject: [Quickfix-users] stop automatic logon > From: ka wone <ka...@gm...> > Date: Thu, March 04, 2010 2:51 pm > To: qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>Hello, > > Even after calling the logout method, QFix try to reconnect (ie send a logon > message) automatically. > To stop everything we can: > - set the socketInniator to null > - call the dispose() method of the socket inniator. > > However does a better solution exists? > Is there a method to stop everything? > > Thanks, > Kamel<hr>------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: <or...@qu...> - 2010-03-04 23:05:27
|
Good question. At first they may appear identical, but they are really quite different. Think of onLogon and onLogout as confirmations. onLogon says that both sides have sent and confirmed logon messages. We have established a valid session and we are all ready to go. It means you are good to go. No, the onMessage call for a Logon is the callback for the Logon message, which could be the ingoing OR outgoing logout, depending on which callback it arrived from. This lets you view the internals of the message, but is not itself confirmation that a valid logon handshake has taken place. Maybe you sent out a Logon, but have not received one back. onLogout, again, means you are done for sure. And unlike Logons, this could happen without any Logout messages as all. The network may go down for instance. So in the end, onLogon and onLogout is what you should rely on to know if you are truly logged in or not. The messages are used in part to determine these states. --oren > -------- Original Message -------- > Subject: Re: [Quickfix-users] Session State > From: ka wone <ka...@gm...> > Date: Thu, March 04, 2010 2:21 pm > To: Kenny Stone <ks...@co...>, > qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>Thanks Kenny for the quick answer. > > However I have an other question :). Are both: > public void onLogout(QuickFix.SessionID pSessionID) { } and public > override void onMessage(QuickFix42.Logout order, SessionID psessionID){ } > called? > What are the differences between these two methods? > Same reflexion with public override void onMessage(QuickFix42.Logon order, > SessionID psessionID){ } and public void onLogon(QuickFix.SessionID > pSessionID) { }. > > Thanks, > Kamel > > > 2010/3/3 Kenny Stone <ks...@co...> > > > QuickFIX Documentation: > > http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > > > onLogout <http://quickfixengine.org/quickfix/doc/html/application.html>() > > is called when there is a disconnect. > > > > > > *onLogout* notifies you when an FIX session is no longer online. This > > could happen during a normal logout exchange or because of a forced > > termination or a loss of network connection. > > > > > > -- > > Kenny Stone > > Connamara Systems, LLC > > > > > > On Wed, Mar 3, 2010 at 2:29 PM, ka wone <ka...@gm...> wrote: > > > >> QuickFIX Documentation: > >> http://www.quickfixengine.org/quickfix/doc/html/index.html > >> QuickFIX Support: http://www.quickfixengine.org/services.html > >> > >> > >> Hello, > >> > >> I would like to know the state of my session or, better, know when the > >> network is down through QuickFix. > >> Several solutions: > >> - Check if we receive at regular intervals the heartbeat messages > >> - Check if the socketInnitiator has its isLoggedOn property turned to on. > >> > >> However I would like to think there is a better way to achieve this. > >> Can anyone help me? > >> > >> Thanks, > >> Kamel > >> > >> > >> ------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev > >> _______________________________________________ > >> Quickfix-users mailing list > >> Qui...@li... > >> https://lists.sourceforge.net/lists/listinfo/quickfix-users > >> > >> > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > Quickfix-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > ><hr>------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev<hr>_______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: ka w. <ka...@gm...> - 2010-03-04 20:52:09
|
Hello, Even after calling the logout method, QFix try to reconnect (ie send a logon message) automatically. To stop everything we can: - set the socketInniator to null - call the dispose() method of the socket inniator. However does a better solution exists? Is there a method to stop everything? Thanks, Kamel |
From: ka w. <ka...@gm...> - 2010-03-04 20:22:07
|
Thanks Kenny for the quick answer. However I have an other question :). Are both: public void onLogout(QuickFix.SessionID pSessionID) { } and public override void onMessage(QuickFix42.Logout order, SessionID psessionID){ } called? What are the differences between these two methods? Same reflexion with public override void onMessage(QuickFix42.Logon order, SessionID psessionID){ } and public void onLogon(QuickFix.SessionID pSessionID) { }. Thanks, Kamel 2010/3/3 Kenny Stone <ks...@co...> > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > onLogout <http://quickfixengine.org/quickfix/doc/html/application.html>() > is called when there is a disconnect. > > > *onLogout* notifies you when an FIX session is no longer online. This > could happen during a normal logout exchange or because of a forced > termination or a loss of network connection. > > > -- > Kenny Stone > Connamara Systems, LLC > > > On Wed, Mar 3, 2010 at 2:29 PM, ka wone <ka...@gm...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Hello, >> >> I would like to know the state of my session or, better, know when the >> network is down through QuickFix. >> Several solutions: >> - Check if we receive at regular intervals the heartbeat messages >> - Check if the socketInnitiator has its isLoggedOn property turned to on. >> >> However I would like to think there is a better way to achieve this. >> Can anyone help me? >> >> Thanks, >> Kamel >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: Kenny S. <ks...@co...> - 2010-03-03 21:04:36
|
onLogout <http://quickfixengine.org/quickfix/doc/html/application.html>() is called when there is a disconnect. *onLogout* notifies you when an FIX session is no longer online. This could happen during a normal logout exchange or because of a forced termination or a loss of network connection. -- Kenny Stone Connamara Systems, LLC On Wed, Mar 3, 2010 at 2:29 PM, ka wone <ka...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello, > > I would like to know the state of my session or, better, know when the > network is down through QuickFix. > Several solutions: > - Check if we receive at regular intervals the heartbeat messages > - Check if the socketInnitiator has its isLoggedOn property turned to on. > > However I would like to think there is a better way to achieve this. > Can anyone help me? > > Thanks, > Kamel > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: ka w. <ka...@gm...> - 2010-03-03 20:30:00
|
Hello, I would like to know the state of my session or, better, know when the network is down through QuickFix. Several solutions: - Check if we receive at regular intervals the heartbeat messages - Check if the socketInnitiator has its isLoggedOn property turned to on. However I would like to think there is a better way to achieve this. Can anyone help me? Thanks, Kamel |
From: <or...@qu...> - 2010-03-03 14:47:00
|
Thanks. I checked it in. > -------- Original Message -------- > Subject: [Quickfix-users] QuickFIX 1.13.1 fails to build with ODBC > enabled > From: "Adam Szojda" <Ada...@Wi...> > Date: Wed, March 03, 2010 4:29 am > To: <qui...@li...> > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > > QuickFix 1.13.1 fails to build when ODBC is enabled. Here's the patch: > > > --- OdbcStore.cpp~ 2010-02-27 20:05:35.000000000 +0200 > +++ OdbcStore.cpp 2010-03-03 12:18:52.873013400 +0200 > @@ -177,7 +177,7 @@ > { QF_STACK_PUSH(OdbcStore::set) > > std::string msgCopy = msg; > - string_replace( "'", "''", valueCopy ); > + string_replace( "'", "''", msgCopy ); > > std::stringstream queryString; > queryString << "INSERT INTO messages " > > > > Regards, > Adam Szojda > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Adam S. <Ada...@Wi...> - 2010-03-03 11:15:11
|
Hi, QuickFix 1.13.1 fails to build when ODBC is enabled. Here's the patch: --- OdbcStore.cpp~ 2010-02-27 20:05:35.000000000 +0200 +++ OdbcStore.cpp 2010-03-03 12:18:52.873013400 +0200 @@ -177,7 +177,7 @@ { QF_STACK_PUSH(OdbcStore::set) std::string msgCopy = msg; - string_replace( "'", "''", valueCopy ); + string_replace( "'", "''", msgCopy ); std::stringstream queryString; queryString << "INSERT INTO messages " Regards, Adam Szojda |
From: <or...@qu...> - 2010-03-02 01:24:01
|
In the hopes of spurring some more frequent and in-depth discussions, I've setup a forum for QuickFIX. You can access it at http://www.quickfixengine.org/forum This is an experiment to open up a new line of communication between developers and users, and hopefully also to get users to communicate with each other. The forums and mailing lists will supplement each other, as I believe they both have strengths and weaknesses. --oren |
From: <or...@qu...> - 2010-02-26 16:35:26
|
QuickFIX 1.13.0 is available at http://www.quickfixengine.org Release notes at http://www.quickfixengine.org/NEWS Alright. We got a new release out now. There is a good amount of fixes/updates in this release, but I'm sure the most anticipated is FIX 5.0/FIXT 1.1 support. Please start setting up your FIX 5.0 connections because we are eager to get some early feedback on this. So please start testing it out in your systems and let us know how it goes. Some additional notes. Support for Visual Studio 6 has been dropped. It is getting very difficult to get any support from Microsoft here, so we think it's time to move on. On the upside we have added support for Visual Studio 2008 and 2010. We have also dropped the JNI api. It was by far the most difficult to maintain and QuickFIX/J is mature enough that it can do everything the JNI api could and more. Switching to QuickFIX/J is as easy as swapping jar files, so that is what we now recommend for Java users. The Python, Ruby, and .NET apis are still fully supported. We are up to 110,000 downloads for QuickFIX, 50,000 for QuickFIX/J, and 15,000 for the logviewer. Over 175,000 downloads in all. I want to thank everyone who has contributed to the product. I don't think it is said enough but we get a lot of support from the community. Always check the THANKS and CONTRIBUTERS files to see the people who have helped out. A special thanks goes to Connamara Systems who have contributed their time, hardware and developers to the project. Their involvement in the project will be increasing. Expect to see more contributions from them. --oren |
From: <ma...@je...> - 2010-02-26 14:16:07
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><title></title><head><meta http-equiv="Content-type" content="text/html; charset=UTF-8" /><style type="text/css"> html, body {overflow-x: visible; } html { width:100%; height:100%;margin:0px; padding:0px; overflow-y: auto; overflow-x: auto; }body { font-size: 100.01%; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; background-color:transparent; overflow:show; background-image:none; margin:0px; padding:5px; }p { margin:0px; padding:0px; } body { font-size: 12px; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; } p { margin: 0; padding: 0; } blockquote { padding-left: 5px; margin-left: 5px; margin-bottom: 0px; margin-top: 0px; } blockquote.quote { border-left: 1px solid #CCC; padding-left: 5px; margin-left: 5px; } .misspelled { background: transparent url(//webmailerng.1und1.de/static_resource/mailclient/widgets/basic/parts/maileditor/spellchecking_underline.gif) repeat-x scroll center bottom; } .correct {} .unknown {} .ignored {}</style></head><body id="bodyElement" style=""> <p>Hi,<span></span></p><p id="__paragraph__1267188525000" style=""><br><span style=""></span></p><p id="__paragraph__1267188525000" style=""><span style="">I tried to use the the executor.py sample. </span><span></span></p><p id="__paragraph__1267188786000" style=""><br><span style=""></span></p><p id="__paragraph__1267188786000" style=""><span style="">I modified it a little:</span><span></span></p><p id="__paragraph__1267188812000" style=""><br><span style=""></span></p><p id="__paragraph__1267188812000" style=""><span style="">...</span><span></span></p><p id="__paragraph__1267188814000" style=""><span style=""> file = sys.argv[1]<br> settings = fix.SessionSettings( file )<br> application = Application()<br> storeFactory = fix.FileStoreFactory( settings )<br> logFactory = fix.FileLogFactory( settings )<br> acceptor = fix.SocketAcceptor( application, storeFactory, settings, logFactory )<br><br> acceptor.start()</span><span></span></p><p id="__paragraph__1267188849000" style=""><br><span style=""></span></p><p id="__paragraph__1267188849000" style=""><span style=""> while 1:</span><span></span></p><p id="__paragraph__1267188856000" style=""><span style=""> time.sleep(10)</span><span></span></p><p id="__paragraph__1267188896000" style=""><span style=""> print 'AFTER SLEEP'<br></span></p><p id="__paragraph__1267188875000" style=""><span style=""> </span><span></span></p><p id="__paragraph__1267188884000" style=""><span style=""> acceptor.stop()<br></span></p><p>....</p><p><br></p><p>The result: print is never executed, it blocks unlimited in time.sleep(10). Even without sleep, the loop blocks after a few seconds.</p><p><br></p><p>I checked the process with truss:</p><p><br></p><p>/2: pollsys(0xFDDF9498, 2, 0xFDDFB500, 0x00000000) = 0<br>/2: times(0xFDDFB480) = 708582828<br>/1: lwp_park(0x00000000, 0) (sleeping...)<br>/2: pollsys(0xFDDF9498, 2, 0xFDDFB500, 0x00000000) = 0<br>/2: times(0xFDDFB480) = 708582928<br>/2: pollsys(0xFDDF9498, 2, 0xFDDFB500, 0x00000000) = 0<br></p><p><br></p><p>It looks as if the thread, started by acceptor.start() blocks the main thread. Without acceptor.start() the code works as expected.</p><p><br></p><p>Is this a bug or as designed? Did I something wrong?<br> <span></span></p><p id="__paragraph__1267188923000" style=""><br><span style=""></span></p><p id="__paragraph__1267188923000" style=""><span style="">Thanks Max</span><span></span></p><p id="__paragraph__1267189365000" style=""><br><span style=""></span></p><p id="__paragraph__1267189365000" style=""><span style="">BTW:</span><span></span></p><p id="__paragraph__1267189523000" style="">There is a mistake in the sample, sessionID and message are in the wrong order:<span></span></p><p id="__paragraph__1267189554000" style=""><span style=""><br></span></p><p id="__paragraph__1267189550000" style=""><span style=""> def toAdmin(self, sessionID, message): return<br> def fromAdmin(self, sessionID, message): return<br> def toApp(self, sessionID, message): return<br><br></span></p><p id="__paragraph__1267189523000" style=""><span style=""><br></span></p><span style=""></span><basefont size="2" face="Verdana"></body></html> |