<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1039</id>
	<title>Nabble - QuickFIX</title>
	<updated>2009-11-27T04:06:19Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/QuickFIX-f1039.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFIX-f1039.html" />
	<subtitle type="html">QuickFIX is a full-featured open source FIX (Financial Information eXchange) engine, currently compatible with the FIX 4.0-4.4 spec. It runs on Windows, Linux, Solaris, FreeBSD and Mac OS X. API's are available for C++, Java, .NET, and Python. QuickFIX home is &lt;a href=&quot;http://www.quickfixengine.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26541606</id>
	<title>please unsubscribe me... thanks in advance</title>
	<published>2009-11-27T04:06:19Z</published>
	<updated>2009-11-27T04:06:19Z</updated>
	<author>
		<name>Avi Revivo-2</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot;&gt;I&amp;#39;m not developing in quickfix any more...&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26541606&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/please-unsubscribe-me...-thanks-in-advance-tp26541606p26541606.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521598</id>
	<title>Have FileLogFactory.  Need to specify OnIncoming, et alii ?</title>
	<published>2009-11-25T14:23:47Z</published>
	<updated>2009-11-25T14:23:47Z</updated>
	<author>
		<name>Richard Hedin</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot; xmlns:p=&quot;urn:schemas-microsoft-com:office:powerpoint&quot; xmlns:a=&quot;urn:schemas-microsoft-com:office:access&quot; xmlns:dt=&quot;uuid:C2F41010-65B3-11d1-A29F-00AA00C14882&quot; xmlns:s=&quot;uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882&quot; xmlns:rs=&quot;urn:schemas-microsoft-com:rowset&quot; xmlns:Z=&quot;urn:schemas-microsoft-com:&quot; xmlns:b=&quot;urn:schemas-microsoft-com:office:publisher&quot; xmlns:ss=&quot;urn:schemas-microsoft-com:office:spreadsheet&quot; xmlns:c=&quot;urn:schemas-microsoft-com:office:component:spreadsheet&quot; xmlns:odc=&quot;urn:schemas-microsoft-com:office:odc&quot; xmlns:oa=&quot;urn:schemas-microsoft-com:office:activation&quot; xmlns:html=&quot;http://www.w3.org/TR/REC-html40&quot; xmlns:q=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:rtc=&quot;http://microsoft.com/officenet/conferencing&quot; xmlns:D=&quot;DAV:&quot; xmlns:Repl=&quot;http://schemas.microsoft.com/repl/&quot; xmlns:mt=&quot;http://schemas.microsoft.com/sharepoint/soap/meetings/&quot; xmlns:x2=&quot;http://schemas.microsoft.com/office/excel/2003/xml&quot; xmlns:ppda=&quot;http://www.passport.com/NameSpace.xsd&quot; xmlns:ois=&quot;http://schemas.microsoft.com/sharepoint/soap/ois/&quot; xmlns:dir=&quot;http://schemas.microsoft.com/sharepoint/soap/directory/&quot; xmlns:ds=&quot;http://www.w3.org/2000/09/xmldsig#&quot; xmlns:dsp=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:udc=&quot;http://schemas.microsoft.com/data/udc&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:sub=&quot;http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/&quot; xmlns:ec=&quot;http://www.w3.org/2001/04/xmlenc#&quot; xmlns:sp=&quot;http://schemas.microsoft.com/sharepoint/&quot; xmlns:sps=&quot;http://schemas.microsoft.com/sharepoint/soap/&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:udcs=&quot;http://schemas.microsoft.com/data/udc/soap&quot; xmlns:udcxf=&quot;http://schemas.microsoft.com/data/udc/xmlfile&quot; xmlns:udcp2p=&quot;http://schemas.microsoft.com/data/udc/parttopart&quot; xmlns:wf=&quot;http://schemas.microsoft.com/sharepoint/soap/workflow/&quot; xmlns:dsss=&quot;http://schemas.microsoft.com/office/2006/digsig-setup&quot; xmlns:dssi=&quot;http://schemas.microsoft.com/office/2006/digsig&quot; xmlns:mdssi=&quot;http://schemas.openxmlformats.org/package/2006/digital-signature&quot; xmlns:mver=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns:mrels=&quot;http://schemas.openxmlformats.org/package/2006/relationships&quot; xmlns:spwp=&quot;http://microsoft.com/sharepoint/webpartpages&quot; xmlns:ex12t=&quot;http://schemas.microsoft.com/exchange/services/2006/types&quot; xmlns:ex12m=&quot;http://schemas.microsoft.com/exchange/services/2006/messages&quot; xmlns:pptsl=&quot;http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/&quot; xmlns:spsl=&quot;http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService&quot; xmlns:st=&quot;&amp;#1;&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=utf-8&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;Gentlepeople:  &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I have changed ScreenLogFactory logFactory to FileLogFactory
logFactory, and I have changed logFactory = new ScreenLogFactory(settings) to
logFactory = new FileLogFactory(settings).  I have added the line:  &lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;FileLogPath=Z:/Rick/IOIViewer_logs/actual_logs_not_state/IOIServer_logs
&lt;/span&gt;to my IOISession.ini file.  I know that I am changed the correct ini
file, because when I hide it, the application won’t start.  My application is a
lightly-modified tradeclient example.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;No x.incoming, x.outgoing, or x.event files appear in the
designated directory.  Do I need to supply an implementation for OnIncoming and
similar methods?  What is the piece I am missing? &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;             Regards, &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;             Rick&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;hr&gt;
See &lt;a href=&quot;http://www.peak6.com/email_disclaimer.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.peak6.com/email_disclaimer.php&lt;/a&gt; for terms and conditions related to this email
&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26521598&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Have-FileLogFactory.--Need-to-specify-OnIncoming%2C-et-alii---tp26521598p26521598.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26518823</id>
	<title>relative path</title>
	<published>2009-11-25T11:22:58Z</published>
	<updated>2009-11-25T11:22:58Z</updated>
	<author>
		<name>Hei Chan</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div style=&quot;font-family:times new roman,new york,times,serif;font-size:12pt&quot;&gt;&lt;div&gt;Hi,&lt;br&gt;&lt;br&gt;I am using quickfix C++.&lt;br&gt;I wonder whether I use the relative path to my dictionary file in the configuration properties file.&lt;br&gt;If yes, what's the base path?&amp;nbsp; How I can set it?&lt;br&gt;Thanks in advance.&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;Hei&lt;br&gt;&lt;/div&gt;
&lt;!-- cg13.c1.mail.mud.yahoo.com compressed/chunked Tue Nov 24 11:10:48 PST 2009 --&gt;
&lt;/div&gt;&lt;br&gt;

      &lt;/body&gt;&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518823&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/relative-path-tp26518823p26518823.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26517490</id>
	<title>QuickFix hangs forvever if the the FIX session gets loggged out while the network connection is down.</title>
	<published>2009-11-25T09:59:07Z</published>
	<updated>2009-11-26T00:40:14Z</updated>
	<author>
		<name>christophe v</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;We are using a vpn to connect to our FIX broker's server. We have been experiencing different behaviour when the vpn connection gets disconnected.
&lt;br&gt;&lt;br&gt;Note that we are using the C++ implementation of QuickFix and I have set the ReconnectInterval to 1sec.
&lt;br&gt;&lt;br&gt;1st Case :
&lt;br&gt;&lt;br&gt;If the vpn connection is disconnected but is reconnected before the FIX::onLogout event occurs, the FIX session reconnects as soon as the onLogout event happens.
&lt;br&gt;&lt;br&gt;2nd Case:
&lt;br&gt;&lt;br&gt;If the vpn connection is disconnected but is reconnected only after FIX::onLogout event occurs, the FIX session takes approximately 6min before it tries to issue another logon request. During these 6min nothing happens, no FIX messages are exchanged between our application and the FIX server. 
&lt;br&gt;&lt;br&gt;As the OS/environment might have some influence, here are more details :
&lt;br&gt;_ OS : Linux Ubuntu
&lt;br&gt;_ Dev framework: C++/QT
&lt;br&gt;&lt;br&gt;When we run the application in gdb an look at the trace when the problem occurs, we have noticed that the ThreadedSocketInitiator Object holds a Mutex (mutex counter = 1). 
&lt;br&gt;&lt;br&gt;Does anybody has any clue of what might be happening? To me it looks like a quickfix setting, in that case how can we change that behaviour?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&lt;br&gt;Chris&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFix-hangs-forvever-if-the-the-FIX-session-gets-loggged-out-while-the-network-connection-is-down.-tp26517490p26517490.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26495443</id>
	<title>Re: CME iLink 2500 message resend limit‏</title>
	<published>2009-11-24T04:56:25Z</published>
	<updated>2009-11-24T04:56:25Z</updated>
	<author>
		<name>Blabos de Blebe</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;Why you want this?
&lt;br&gt;&lt;br&gt;EndSeqNo equals zero doesn't mean &amp;quot;resend all messages from sequence
&lt;br&gt;number equals BeginSeqNo to the last one message sent&amp;quot;?
&lt;br&gt;&lt;br&gt;You really need it?
&lt;br&gt;&lt;br&gt;Alternativelly you can catch any message that will be resent
&lt;br&gt;imediately before it be resent, into the callback &amp;quot;toApp&amp;quot;.
&lt;br&gt;&lt;br&gt;Blabos
&lt;br&gt;&lt;br&gt;2009/11/23 Steve Smith &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495443&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;steve4s@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I appologize if this has already been asked but am wondering how others have addressed this. We are intercepting the resend request that QuickFIX generates after seeing a sequence number gap. QuickFIX sets the EndSeqNo to zero, as it should. We can change the EndSeqNo to the BeginSeqNo + 2499, but this breaks down if the gap was less than 2500 messages as we are asking for more messages than the other side (the CME) has to deliver. There is a way to get the sequence number that QuickFIX expects, but is there anyway to get the sequence number that triggered the resend request? Or is there a better way to address this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks, Steve
&lt;br&gt;&amp;gt; ________________________________
&lt;br&gt;&amp;gt; Windows 7: It works the way you want. Learn more.
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495443&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495443&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CME-iLink-2500-message-resend-limit%E2%80%8F-tp26482240p26495443.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26482240</id>
	<title>CME iLink 2500 message resend limit‏</title>
	<published>2009-11-23T09:11:21Z</published>
	<updated>2009-11-23T09:11:21Z</updated>
	<author>
		<name>Steve Smith-70</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
I appologize if this has already been&amp;nbsp;asked but am wondering how others have addressed this. We are intercepting the resend request that QuickFIX generates after seeing a sequence number gap. QuickFIX sets the EndSeqNo to zero, as it should. We can change the EndSeqNo to the BeginSeqNo + 2499, but this breaks down if the gap was less than 2500 messages as we are asking for more messages than the other side (the CME) has to deliver. There is a way to get the sequence number that QuickFIX expects, but is there anyway to&amp;nbsp;get the sequence number that triggered the resend request? Or is there&amp;nbsp;a better&amp;nbsp;way to address this?&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Thanks, Steve  		 	   		  &lt;br /&gt;&lt;hr /&gt;Windows 7: It works the way you want. &lt;a href='http://www.microsoft.com/Windows/windows-7/default.aspx?ocid=PID24727::T:WLMTAGL:ON:WL:en-US:WWL_WIN_evergreen:112009v2' target='_new' rel=&quot;nofollow&quot;&gt;Learn more.&lt;/a&gt;&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482240&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CME-iLink-2500-message-resend-limit%E2%80%8F-tp26482240p26482240.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26472575</id>
	<title>Re: Issue in parsing FIX44 Message -	MsgTyp=n</title>
	<published>2009-11-22T20:08:29Z</published>
	<updated>2009-11-22T20:08:29Z</updated>
	<author>
		<name>Tan Weng Heng</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi Andrei,
&lt;br&gt;&lt;br&gt;I'm afraid, extractField(...) method is the private method of Message
&lt;br&gt;class.
&lt;br&gt;&lt;br&gt;The issue is still that:
&lt;br&gt;&lt;br&gt;Message::getHeader().getField(TAG213) always return INCOMPLETE data,
&lt;br&gt;whenever the raw message contains embedded SOH character in Tag213
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;wh
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Andrei Goldchleger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472575&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andgold@...&lt;/a&gt;&amp;gt; 11/23/2009 9:33:39 AM &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;On Sun, Nov 22, 2009 at 11:08 PM, Tan Weng Heng
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472575&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wengheng@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; QuickFIX Documentation:
&lt;br&gt;&lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes. I loaded the FIX44 (Quickfix-1.12.4) dict object &amp; pass it to
&lt;br&gt;the
&lt;br&gt;&amp;gt; Message constructor before callilng the Message::setString(...)
&lt;br&gt;method
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; to perform the parsing.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As I understand it, the QF parser would separate the message fields
&lt;br&gt;&amp;gt; into 3 categories, as specified in the dict:
&lt;br&gt;&amp;gt; 1) HEADER
&lt;br&gt;&amp;gt; 2) BODY/MESSAGE
&lt;br&gt;&amp;gt; 3) TRAILER
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My debugging session shows that the Message::extractField(...) only
&lt;br&gt;&amp;gt; looks into the BODY list for the field length, which always fail as
&lt;/div&gt;tag
&lt;br&gt;&amp;gt; 212 &amp; 213 is catagerized as HEADER as per the FIX spec.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is this a bug ?
&lt;br&gt;&lt;br&gt;Try Message::getHeader().extractField().
&lt;br&gt;&lt;br&gt;DISCLAIMER:
&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) may contain confidential information. If you are not the intended recipient, you are hereby notified that any review, distribution, printing, copying or use of this e-mail is strictly prohibited. If you have received this e-mail in error, please notify the sender or Bursa Malaysia immediately and delete the original message. Opinions, conclusions and other information in this e-mail that do not relate to the official business of Bursa Malaysia and/or its group of companies (&amp;quot;Bursa Malaysia Group&amp;quot;) shall be understood as neither given nor endorsed by Bursa Malaysia Group and Bursa Malaysia Group accepts no responsibility for the same. All liability arising from or in connection with computer viruses and/or corrupted e-mails is excluded to the fullest extent permitted by law.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472575&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Issue-in-parsing-FIX44-Message--%09MsgTyp%3Dn-tp26471426p26472575.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26471768</id>
	<title>Re: Issue in parsing FIX44 Message - MsgTyp=n</title>
	<published>2009-11-22T17:33:39Z</published>
	<updated>2009-11-22T17:33:39Z</updated>
	<author>
		<name>Andrei Goldchleger</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;On Sun, Nov 22, 2009 at 11:08 PM, Tan Weng Heng
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471768&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wengheng@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes. I loaded the FIX44 (Quickfix-1.12.4) dict object &amp; pass it to the
&lt;br&gt;&amp;gt; Message constructor before callilng the Message::setString(...) method
&lt;br&gt;&amp;gt; to perform the parsing.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As I understand it, the QF parser would separate the message fields
&lt;br&gt;&amp;gt; into 3 categories, as specified in the dict:
&lt;br&gt;&amp;gt; 1) HEADER
&lt;br&gt;&amp;gt; 2) BODY/MESSAGE
&lt;br&gt;&amp;gt; 3) TRAILER
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My debugging session shows that the Message::extractField(...) only
&lt;br&gt;&amp;gt; looks into the BODY list for the field length, which always fail as tag
&lt;br&gt;&amp;gt; 212 &amp; 213 is catagerized as HEADER as per the FIX spec.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is this a bug ?
&lt;/div&gt;&lt;br&gt;Try Message::getHeader().extractField().
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471768&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Issue-in-parsing-FIX44-Message--%09MsgTyp%3Dn-tp26471426p26471768.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26471426</id>
	<title>Re: Issue in parsing FIX44 Message -	MsgTyp=n</title>
	<published>2009-11-22T17:08:04Z</published>
	<updated>2009-11-22T17:08:04Z</updated>
	<author>
		<name>Tan Weng Heng</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Yes. I loaded the FIX44 (Quickfix-1.12.4) dict object &amp; pass it to the
&lt;br&gt;Message constructor before callilng the Message::setString(...) method
&lt;br&gt;to perform the parsing.
&lt;br&gt;&lt;br&gt;As I understand it, the QF parser would separate the message fields
&lt;br&gt;into 3 categories, as specified in the dict:
&lt;br&gt;1) HEADER
&lt;br&gt;2) BODY/MESSAGE
&lt;br&gt;3) TRAILER
&lt;br&gt;&lt;br&gt;My debugging session shows that the Message::extractField(...) only
&lt;br&gt;looks into the BODY list for the field length, which always fail as tag
&lt;br&gt;212 &amp; 213 is catagerized as HEADER as per the FIX spec.
&lt;br&gt;&lt;br&gt;Is this a bug ?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;wh
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Dale Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471426&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt;&amp;gt; 11/20/2009 11:58:02 PM &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;Are you passing a data dictionary as well as the string? &amp;nbsp; QuickFIX 
&lt;br&gt;needs the data dictionary to know that XmlDataLen is the length field 
&lt;br&gt;for XmlData.
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;Tan Weng Heng wrote:
&lt;br&gt;&amp;gt; QuickFIX Documentation:
&lt;br&gt;&lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi All,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is this a known issue in QuickFix ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Whenever I pass the Message class a string with the following C++
&lt;br&gt;&amp;gt; string:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&amp;quot;8=FIX.4.4\0019=73\00135=n\00149=BRKR\00156=INVMGR\00134=235\00152=19980604-07:58:28\001212=14\001213=&amp;lt;R&amp;gt;A=B\001C=D&amp;lt;/R&amp;gt;\00110=235\001&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It's unable to extract XmlData(213) properly if the contents
&lt;br&gt;contains
&lt;br&gt;&amp;gt; embeded SOH characters, eventhough XmlDataLen(212) has specified its
&lt;br&gt;&amp;gt; length accordingly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The Message::extractField method seems to only check the
&lt;br&gt;availability
&lt;br&gt;&amp;gt; of the &amp;quot;length field&amp;quot; i.e XmlDataLen(212) in the BODY fields,
&lt;br&gt;ignoring
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; the HEADER fields.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please correct me if I'm wrong.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; wh
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --------------START Code Excerpt--------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if ( pDD &amp;&amp; pDD-&amp;gt;isDataField(field) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::string fieldLength;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Assume length field is 1 less.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; int lenField = field - 1;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Special case for Signature which violates above assumption.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( field == 89 ) lenField = 93;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( pGroup &amp;&amp; pGroup-&amp;gt;isSetField( lenField ) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = pGroup-&amp;gt;getField( lenField );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if ( isSetField( lenField ) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = getField( lenField );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; ///****NO LOGIC TO LOOK INTO the HEADER FIELDS****
&lt;br&gt;&amp;gt; --------------END Code Excerpt --------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; DISCLAIMER:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) may contain confidential
&lt;/div&gt;information. If you are not the intended recipient, you are hereby
&lt;br&gt;notified that any review, distribution, printing, copying or use of this
&lt;br&gt;e-mail is strictly prohibited. If you have received this e-mail in
&lt;br&gt;error, please notify the sender or Bursa Malaysia immediately and delete
&lt;br&gt;the original message. Opinions, conclusions and other information in
&lt;br&gt;this e-mail that do not relate to the official business of Bursa
&lt;br&gt;Malaysia and/or its group of companies (&amp;quot;Bursa Malaysia Group&amp;quot;) shall be
&lt;br&gt;understood as neither given nor endorsed by Bursa Malaysia Group and
&lt;br&gt;Bursa Malaysia Group accepts no responsibility for the same. All
&lt;br&gt;liability arising from or in connection with computer viruses and/or
&lt;br&gt;corrupted e-mails is excluded to the fullest extent permitted by law.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471426&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;DISCLAIMER:
&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) may contain confidential information. If you are not the intended recipient, you are hereby notified that any review, distribution, printing, copying or use of this e-mail is strictly prohibited. If you have received this e-mail in error, please notify the sender or Bursa Malaysia immediately and delete the original message. Opinions, conclusions and other information in this e-mail that do not relate to the official business of Bursa Malaysia and/or its group of companies (&amp;quot;Bursa Malaysia Group&amp;quot;) shall be understood as neither given nor endorsed by Bursa Malaysia Group and Bursa Malaysia Group accepts no responsibility for the same. All liability arising from or in connection with computer viruses and/or corrupted e-mails is excluded to the fullest extent permitted by law.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471426&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Issue-in-parsing-FIX44-Message--%09MsgTyp%3Dn-tp26471426p26471426.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26445863</id>
	<title>Re: Issue in parsing FIX44 Message - MsgTyp=n</title>
	<published>2009-11-20T07:58:02Z</published>
	<updated>2009-11-20T07:58:02Z</updated>
	<author>
		<name>Dale Wilson-4</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Are you passing a data dictionary as well as the string? &amp;nbsp; QuickFIX 
&lt;br&gt;needs the data dictionary to know that XmlDataLen is the length field 
&lt;br&gt;for XmlData.
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;Tan Weng Heng wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi All,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is this a known issue in QuickFix ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Whenever I pass the Message class a string with the following C++
&lt;br&gt;&amp;gt; string:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;8=FIX.4.4\0019=73\00135=n\00149=BRKR\00156=INVMGR\00134=235\00152=19980604-07:58:28\001212=14\001213=&amp;lt;R&amp;gt;A=B\001C=D&amp;lt;/R&amp;gt;\00110=235\001&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It's unable to extract XmlData(213) properly if the contents contains
&lt;br&gt;&amp;gt; embeded SOH characters, eventhough XmlDataLen(212) has specified its
&lt;br&gt;&amp;gt; length accordingly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The Message::extractField method seems to only check the availability
&lt;br&gt;&amp;gt; of the &amp;quot;length field&amp;quot; i.e XmlDataLen(212) in the BODY fields, ignoring
&lt;br&gt;&amp;gt; the HEADER fields.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please correct me if I'm wrong.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; wh
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --------------START Code Excerpt--------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if ( pDD &amp;&amp; pDD-&amp;gt;isDataField(field) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::string fieldLength;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Assume length field is 1 less.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; int lenField = field - 1;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Special case for Signature which violates above assumption.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( field == 89 ) lenField = 93;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( pGroup &amp;&amp; pGroup-&amp;gt;isSetField( lenField ) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = pGroup-&amp;gt;getField( lenField );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if ( isSetField( lenField ) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = getField( lenField );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; ///****NO LOGIC TO LOOK INTO the HEADER FIELDS****
&lt;br&gt;&amp;gt; --------------END Code Excerpt --------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; DISCLAIMER:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) may contain confidential information. If you are not the intended recipient, you are hereby notified that any review, distribution, printing, copying or use of this e-mail is strictly prohibited. If you have received this e-mail in error, please notify the sender or Bursa Malaysia immediately and delete the original message. Opinions, conclusions and other information in this e-mail that do not relate to the official business of Bursa Malaysia and/or its group of companies (&amp;quot;Bursa Malaysia Group&amp;quot;) shall be understood as neither given nor endorsed by Bursa Malaysia Group and Bursa Malaysia Group accepts no responsibility for the same. All liability arising from or in connection with computer viruses and/or corrupted e-mails is excluded to the fullest extent permitted by law.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445863&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445863&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Issue-in-parsing-FIX44-Message---MsgTyp%3Dn-tp26438237p26445863.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26444500</id>
	<title>Re: Initiator Reconnect?</title>
	<published>2009-11-20T06:43:50Z</published>
	<updated>2009-11-20T06:43:50Z</updated>
	<author>
		<name>Grant Birchmeier</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Likely the latter.
&lt;br&gt;&lt;br&gt;On Fri, Nov 20, 2009 at 7:39 AM, Robert Levas
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Should I assume that no one uses the C++ library or is it that no one has the issue I am having?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Robert Levas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Systems Architect/Developer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QED Financial Systems, Inc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 10,000 Sagemore
&lt;br&gt;&amp;gt; Marlton, New Jersey 08053 USA
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; tel       856.797.1200
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; fax      856.797.9719
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; email   &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named
&lt;br&gt;&amp;gt; above.  If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution
&lt;br&gt;&amp;gt; or copy of this message is strictly prohibited.  QED Financial Systems, Inc. reserves all rights to the content of this electronic message,
&lt;br&gt;&amp;gt; which is the exclusive property of QED Financial Systems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; From: Robert Levas [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: Wednesday, November 11, 2009 3:58 PM
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [Quickfix-developers] Initiator Reconnect?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If anyone is interested I submitted a bug report on this. I also attached two patch files that can be used to fix the issue.  It appears to be fixed on my end with the patch in place.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;                 &lt;a href=&quot;http://sourceforge.net/tracker/?func=detail&amp;aid=2895449&amp;group_id=37535&amp;atid=1126912&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/tracker/?func=detail&amp;aid=2895449&amp;group_id=37535&amp;atid=1126912&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Robert Levas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Systems Architect/Developer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QED Financial Systems, Inc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 10,000 Sagemore
&lt;br&gt;&amp;gt; Marlton, New Jersey 08053 USA
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; tel       856.797.1200
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; fax      856.797.9719
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; email   &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named
&lt;br&gt;&amp;gt; above.  If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution
&lt;br&gt;&amp;gt; or copy of this message is strictly prohibited.  QED Financial Systems, Inc. reserves all rights to the content of this electronic message,
&lt;br&gt;&amp;gt; which is the exclusive property of QED Financial Systems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; From: Robert Levas [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: Tuesday, November 10, 2009 3:06 PM
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [Quickfix-developers] Initiator Reconnect?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Apparently this appears to be a bug in how the connection workflow is set up.  What seems to happen is
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1)      When the Initiator is initialized, a connection for every configured Session is created and placed in the “disconnected” bin
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2)      Later, a SocketInitiator::onStart which invokes the Initiator::connect method
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3)      Each connection in the “disconnected” bin is tested and then passed to the SocketInitiator::doConnect method, which
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; a.       removes the connection from the “disconnected” bin and places it in the “pending” bin
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; b.      calls “connect” on the connection
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 4)      If the connection connects all is well, however if a connection is not made by some timeout value, SocketInitiator::onTimeout is invoked, which
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; a.       Check to see a retry is allowed based on the last time it was tried
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; b.      Attempts to reconnect using the Initiator::connect method (as in item #2, above).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The issue is that when the connect method is called again, the connection(s) that timed out were never moved from the “pending” bin to the “disconnected” bin and therefore a connection is never retried.  This is because the connect method only works on connections in the “disconnected” bin – which makes sense.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I will be summiting a bug report as soon as I can get an OpenID and log into the appropriate SourceForge bug tracker.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Robert Levas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Systems Architect/Developer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QED Financial Systems, Inc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 10,000 Sagemore
&lt;br&gt;&amp;gt; Marlton, New Jersey 08053 USA
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; tel       856.797.1200
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; fax      856.797.9719
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; email   &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named
&lt;br&gt;&amp;gt; above.  If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution
&lt;br&gt;&amp;gt; or copy of this message is strictly prohibited.  QED Financial Systems, Inc. reserves all rights to the content of this electronic message,
&lt;br&gt;&amp;gt; which is the exclusive property of QED Financial Systems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; From: Robert Levas [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: Monday, November 09, 2009 1:22 PM
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: [Quickfix-developers] Initiator Reconnect?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am using the C++ library for QuickFIX version 1.12.4.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have a FIX::Application implementation that successfully connects to and logs into the executor example application (that comes with the library).  Things seem to be working as expected however if the client starts up after the executor server or the executor server goes down and doesn’t come up within 15 seconds, the client doesn’t attempt to connect to it. I assume that  should expect the client to retry connecting to the server but that is not happening and do I see anything relevant in the docs at &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; To make things clear here are the two scenarios I quickly outlined:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; a.       Client starts before Server
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; b.      Execute my application
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; c.       Wait a few seconds
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; d.      Client application logs “Connecting to localhost on port 5001”
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; e.      Start executor server (using run_executor_cpp)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; f.        Executor starts up successfully
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; g.       Client application never retries to connect to executor server
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; h.      Server exists/crashes before Client
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; i.         Start executor server (using run_executor_cpp)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; j.        Executor starts up successfully
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; k.       Execute my application
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; l.         Connection is made and login successful
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; m.    Kill executor server (manually for testing)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; n.      Client application gets disconnect and logout event
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; o.      Client application attempts to reconnect and logs “Connecting to localhost on port 5001”
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; p.      Wait 15 or so seconds
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; q.      Start executor server (using run_executor_cpp)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; r.        Executor starts up successfully
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; s.       Client application never retries to connect to executor server
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Should I be doing something in code to get this reconnect behavior working?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Robert Levas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Systems Architect/Developer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QED Financial Systems, Inc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 10,000 Sagemore
&lt;br&gt;&amp;gt; Marlton, New Jersey 08053 USA
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; tel       856.797.1200
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; fax      856.797.9719
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; email   &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named
&lt;br&gt;&amp;gt; above.  If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution
&lt;br&gt;&amp;gt; or copy of this message is strictly prohibited.  QED Financial Systems, Inc. reserves all rights to the content of this electronic message,
&lt;br&gt;&amp;gt; which is the exclusive property of QED Financial Systems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26444500&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Initiator-Reconnect--tp26271306p26444500.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26443712</id>
	<title>Re: Initiator Reconnect?</title>
	<published>2009-11-20T05:39:48Z</published>
	<updated>2009-11-20T05:39:48Z</updated>
	<author>
		<name>Robert Levas</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot; xmlns:p=&quot;urn:schemas-microsoft-com:office:powerpoint&quot; xmlns:a=&quot;urn:schemas-microsoft-com:office:access&quot; xmlns:dt=&quot;uuid:C2F41010-65B3-11d1-A29F-00AA00C14882&quot; xmlns:s=&quot;uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882&quot; xmlns:rs=&quot;urn:schemas-microsoft-com:rowset&quot; xmlns:Z=&quot;urn:schemas-microsoft-com:&quot; xmlns:b=&quot;urn:schemas-microsoft-com:office:publisher&quot; xmlns:ss=&quot;urn:schemas-microsoft-com:office:spreadsheet&quot; xmlns:c=&quot;urn:schemas-microsoft-com:office:component:spreadsheet&quot; xmlns:odc=&quot;urn:schemas-microsoft-com:office:odc&quot; xmlns:oa=&quot;urn:schemas-microsoft-com:office:activation&quot; xmlns:html=&quot;http://www.w3.org/TR/REC-html40&quot; xmlns:q=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:rtc=&quot;http://microsoft.com/officenet/conferencing&quot; xmlns:D=&quot;DAV:&quot; xmlns:Repl=&quot;http://schemas.microsoft.com/repl/&quot; xmlns:mt=&quot;http://schemas.microsoft.com/sharepoint/soap/meetings/&quot; xmlns:x2=&quot;http://schemas.microsoft.com/office/excel/2003/xml&quot; xmlns:ppda=&quot;http://www.passport.com/NameSpace.xsd&quot; xmlns:ois=&quot;http://schemas.microsoft.com/sharepoint/soap/ois/&quot; xmlns:dir=&quot;http://schemas.microsoft.com/sharepoint/soap/directory/&quot; xmlns:ds=&quot;http://www.w3.org/2000/09/xmldsig#&quot; xmlns:dsp=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:udc=&quot;http://schemas.microsoft.com/data/udc&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:sub=&quot;http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/&quot; xmlns:ec=&quot;http://www.w3.org/2001/04/xmlenc#&quot; xmlns:sp=&quot;http://schemas.microsoft.com/sharepoint/&quot; xmlns:sps=&quot;http://schemas.microsoft.com/sharepoint/soap/&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:udcs=&quot;http://schemas.microsoft.com/data/udc/soap&quot; xmlns:udcxf=&quot;http://schemas.microsoft.com/data/udc/xmlfile&quot; xmlns:udcp2p=&quot;http://schemas.microsoft.com/data/udc/parttopart&quot; xmlns:wf=&quot;http://schemas.microsoft.com/sharepoint/soap/workflow/&quot; xmlns:dsss=&quot;http://schemas.microsoft.com/office/2006/digsig-setup&quot; xmlns:dssi=&quot;http://schemas.microsoft.com/office/2006/digsig&quot; xmlns:mdssi=&quot;http://schemas.openxmlformats.org/package/2006/digital-signature&quot; xmlns:mver=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns:mrels=&quot;http://schemas.openxmlformats.org/package/2006/relationships&quot; xmlns:spwp=&quot;http://microsoft.com/sharepoint/webpartpages&quot; xmlns:ex12t=&quot;http://schemas.microsoft.com/exchange/services/2006/types&quot; xmlns:ex12m=&quot;http://schemas.microsoft.com/exchange/services/2006/messages&quot; xmlns:pptsl=&quot;http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/&quot; xmlns:spsl=&quot;http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService&quot; xmlns:st=&quot;&amp;#1;&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;Should I assume that no one uses
the C++ library or is it that no one has the issue I am having?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=MsoNormal style='margin-top:27.0pt;text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Robert
Levas&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Systems
Architect/Developer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;
font-family:&quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;QED Financial Systems,
Inc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;10,000
Sagemore&lt;br&gt;
Marlton, New Jersey 08053 USA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;tel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.1200&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;fax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.9719&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;email&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-top:12.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;This
electronic message is intended only for the receipt by, and the personal and confidential
use of, the designated recipient(s) named &lt;br&gt;
above.&amp;nbsp; If you are not an intended recipient of this electronic message
you are hereby notified that any review, dissemination, distribution &lt;br&gt;
or copy of this message is strictly prohibited.&amp;nbsp;&amp;nbsp;QED Financial
Systems, Inc. reserves all rights to the content of this electronic
message,&amp;nbsp; &lt;br&gt;
which is the exclusive property of QED Financial Systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'&gt;

&lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt; Robert Levas
[mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;] &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; Wednesday, November 11, 2009 3:58 PM&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; Re: [Quickfix-developers] Initiator Reconnect?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;If anyone is interested I
submitted a bug report on this. I also attached two patch files that can be
used to fix the issue.&amp;nbsp; It appears to be fixed on my end with the patch in
place. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;a href=&quot;http://sourceforge.net/tracker/?func=detail&amp;amp;aid=2895449&amp;amp;group_id=37535&amp;amp;atid=1126912&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/tracker/?func=detail&amp;amp;aid=2895449&amp;amp;group_id=37535&amp;amp;atid=1126912&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=MsoNormal style='margin-top:27.0pt;text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Robert
Levas&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Systems
Architect/Developer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;
font-family:&quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;QED Financial Systems,
Inc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;10,000
Sagemore&lt;br&gt;
Marlton, New Jersey 08053 USA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;tel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.1200&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;fax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.9719&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;email&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-top:12.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;This
electronic message is intended only for the receipt by, and the personal and
confidential use of, the designated recipient(s) named &lt;br&gt;
above.&amp;nbsp; If you are not an intended recipient of this electronic message
you are hereby notified that any review, dissemination, distribution &lt;br&gt;
or copy of this message is strictly prohibited.&amp;nbsp;&amp;nbsp;QED Financial Systems,
Inc. reserves all rights to the content of this electronic message,&amp;nbsp; &lt;br&gt;
which is the exclusive property of QED Financial Systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'&gt;

&lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt; Robert Levas
[mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;] &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; Tuesday, November 10, 2009 3:06 PM&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; Re: [Quickfix-developers] Initiator Reconnect?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;Apparently this appears to be a
bug in how the connection workflow is set up.&amp;nbsp; What seems to happen is &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in;mso-list:l0 level1 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;1)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;When the Initiator is
initialized, a connection for every configured Session is created and placed in
the &amp;#8220;disconnected&amp;#8221; bin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in;mso-list:l0 level1 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;2)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;Later, a
SocketInitiator::onStart which invokes the Initiator::connect method&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in;mso-list:l0 level1 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;3)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;Each connection in
the &amp;#8220;disconnected&amp;#8221; bin is tested and then passed to the
SocketInitiator::doConnect method, which &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='mso-list:l0 level2 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;a.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;removes the
connection from the &amp;#8220;disconnected&amp;#8221; bin and places it in the
&amp;#8220;pending&amp;#8221; bin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='mso-list:l0 level2 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;b.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;calls
&amp;#8220;connect&amp;#8221; on the connection&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in;mso-list:l0 level1 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;4)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;If the connection
connects all is well, however if a connection is not made by some timeout
value, SocketInitiator::onTimeout is invoked, which&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='mso-list:l0 level2 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;a.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;Check to see a retry
is allowed based on the last time it was tried&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='mso-list:l0 level2 lfo4'&gt;&lt;![if !supportLists]&gt;&lt;span style='color:#1F497D'&gt;&lt;span style='mso-list:Ignore'&gt;b.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span style='color:#1F497D'&gt;Attempts to
reconnect using the Initiator::connect method (as in item #2, above).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;The issue is that when the
connect method is called again, the connection(s) that timed out were never
moved from the &amp;#8220;pending&amp;#8221; bin to the &amp;#8220;disconnected&amp;#8221; bin
and therefore a connection is never retried.&amp;nbsp; This is because the connect
method only works on connections in the &amp;#8220;disconnected&amp;#8221; bin &amp;#8211;
which makes sense.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;I will be summiting a bug report
as soon as I can get an OpenID and log into the appropriate SourceForge bug
tracker.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=MsoNormal style='margin-top:27.0pt;text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Robert
Levas&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Systems
Architect/Developer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;
font-family:&quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;QED Financial Systems,
Inc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;10,000
Sagemore&lt;br&gt;
Marlton, New Jersey 08053 USA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;tel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.1200&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;fax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.9719&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;email&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-top:12.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;This
electronic message is intended only for the receipt by, and the personal and
confidential use of, the designated recipient(s) named &lt;br&gt;
above.&amp;nbsp; If you are not an intended recipient of this electronic message
you are hereby notified that any review, dissemination, distribution &lt;br&gt;
or copy of this message is strictly prohibited.&amp;nbsp;&amp;nbsp;QED Financial
Systems, Inc. reserves all rights to the content of this electronic
message,&amp;nbsp; &lt;br&gt;
which is the exclusive property of QED Financial Systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'&gt;

&lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt; Robert Levas
[mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;] &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; Monday, November 09, 2009 1:22 PM&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; [Quickfix-developers] Initiator Reconnect?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I am using the C++ library for QuickFIX version
1.12.4.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I have a FIX::Application implementation that successfully
connects to and logs into the executor example application (that comes with the
library).&amp;nbsp; Things seem to be working as expected however if the client
starts up after the executor server or the executor server goes down and
doesn&amp;#8217;t come up within 15 seconds, the client doesn&amp;#8217;t attempt to
connect to it. I assume that&amp;nbsp; should expect the client to retry connecting
to the server but that is not happening and do I see anything relevant in the
docs at &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;To make things clear here are the two scenarios I quickly
outlined:&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in'&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;a.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client starts before Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;b.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Execute
my application&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;c.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Wait
a few seconds&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;d.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client
application logs &amp;#8220;Connecting to localhost on port 5001&amp;#8221;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;e.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Start
executor server (using run_executor_cpp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;f.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Executor starts up successfully&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;g.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client
application never retries to connect to executor server&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph style='margin-left:.5in'&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;h.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Server exists/crashes before Client&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;i.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Start executor server (using run_executor_cpp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;j.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Executor starts up successfully&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;k.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Execute
my application&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;l.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Connection is made and login successful&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;m.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Kill
executor server (manually for testing)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;n.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client
application gets disconnect and logout event&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;o.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client
application attempts to reconnect and logs &amp;#8220;Connecting to localhost on
port 5001&amp;#8221;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;p.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Wait
15 or so seconds&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;q.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Start
executor server (using run_executor_cpp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;r.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Executor starts up successfully&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoListParagraph&gt;&lt;![if !supportLists]&gt;&lt;span style='mso-list:Ignore'&gt;s.&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;Client
application never retries to connect to executor server&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Should I be doing something in code to get this reconnect
behavior working?&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Thanks,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-top:27.0pt;text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Robert
Levas&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;Systems
Architect/Developer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;
font-family:&quot;Trebuchet MS&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;QED Financial Systems,
Inc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:6.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;10,000
Sagemore&lt;br&gt;
Marlton, New Jersey 08053 USA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;tel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.1200&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;fax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:#21409A'&gt;856.797.9719&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:7.0pt;
font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;email&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levas@...&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#21409A'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-top:12.0pt;text-autospace:none'&gt;&lt;span style='font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#969696'&gt;This
electronic message is intended only for the receipt by, and the personal and confidential
use of, the designated recipient(s) named &lt;br&gt;
above.&amp;nbsp; If you are not an intended recipient of this electronic message
you are hereby notified that any review, dissemination, distribution &lt;br&gt;
or copy of this message is strictly prohibited.&amp;nbsp;&amp;nbsp;QED Financial
Systems, Inc. reserves all rights to the content of this electronic
message,&amp;nbsp; &lt;br&gt;
which is the exclusive property of QED Financial Systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443712&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Initiator-Reconnect--tp26271306p26443712.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438237</id>
	<title>Issue in parsing FIX44 Message - MsgTyp=n</title>
	<published>2009-11-19T19:55:44Z</published>
	<updated>2009-11-19T19:55:44Z</updated>
	<author>
		<name>Tan Weng Heng</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi All,
&lt;br&gt;&lt;br&gt;Is this a known issue in QuickFix ?
&lt;br&gt;&lt;br&gt;Whenever I pass the Message class a string with the following C++
&lt;br&gt;string:
&lt;br&gt;&lt;br&gt;&amp;quot;8=FIX.4.4\0019=73\00135=n\00149=BRKR\00156=INVMGR\00134=235\00152=19980604-07:58:28\001212=14\001213=&amp;lt;R&amp;gt;A=B\001C=D&amp;lt;/R&amp;gt;\00110=235\001&amp;quot;
&lt;br&gt;&lt;br&gt;It's unable to extract XmlData(213) properly if the contents contains
&lt;br&gt;embeded SOH characters, eventhough XmlDataLen(212) has specified its
&lt;br&gt;length accordingly.
&lt;br&gt;&lt;br&gt;The Message::extractField method seems to only check the availability
&lt;br&gt;of the &amp;quot;length field&amp;quot; i.e XmlDataLen(212) in the BODY fields, ignoring
&lt;br&gt;the HEADER fields.
&lt;br&gt;&lt;br&gt;Please correct me if I'm wrong.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;wh
&lt;br&gt;&lt;br&gt;--------------START Code Excerpt--------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; if ( pDD &amp;&amp; pDD-&amp;gt;isDataField(field) )
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; std::string fieldLength;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Assume length field is 1 less.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; int lenField = field - 1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Special case for Signature which violates above assumption.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ( field == 89 ) lenField = 93;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ( pGroup &amp;&amp; pGroup-&amp;gt;isSetField( lenField ) )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = pGroup-&amp;gt;getField( lenField );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else if ( isSetField( lenField ) )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fieldLength = getField( lenField );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; soh = equalSign + 1 + atol( fieldLength.c_str() );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; ///****NO LOGIC TO LOOK INTO the HEADER FIELDS****
&lt;br&gt;--------------END Code Excerpt --------------------------
&lt;br&gt;&lt;br&gt;&lt;br&gt;DISCLAIMER:
&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) may contain confidential information. If you are not the intended recipient, you are hereby notified that any review, distribution, printing, copying or use of this e-mail is strictly prohibited. If you have received this e-mail in error, please notify the sender or Bursa Malaysia immediately and delete the original message. Opinions, conclusions and other information in this e-mail that do not relate to the official business of Bursa Malaysia and/or its group of companies (&amp;quot;Bursa Malaysia Group&amp;quot;) shall be understood as neither given nor endorsed by Bursa Malaysia Group and Bursa Malaysia Group accepts no responsibility for the same. All liability arising from or in connection with computer viruses and/or corrupted e-mails is excluded to the fullest extent permitted by law.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438237&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Issue-in-parsing-FIX44-Message---MsgTyp%3Dn-tp26438237p26438237.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26421500</id>
	<title>experience with demo accounts or test beds</title>
	<published>2009-11-19T14:21:48Z</published>
	<updated>2009-11-19T14:21:48Z</updated>
	<author>
		<name>jeffreykr</name>
	</author>
	<content type="html">hello. i am beginning some work in quickfix after a history with ib's proprietary api. ib does not have fix in their demo account. with other brokers it seems a little spotty.
&lt;br&gt;&lt;br&gt;for now, i'd just like to test. is there a good place to get what amounts to a test bed account that takes the fix protocol? what have you seen work well?
&lt;br&gt;&lt;br&gt;thanks,
&lt;br&gt;jk&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/experience-with-demo-accounts-or-test-beds-tp26421500p26421500.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26434706</id>
	<title>Re: Re play</title>
	<published>2009-11-19T13:46:12Z</published>
	<updated>2009-11-19T13:46:12Z</updated>
	<author>
		<name>Mikhail Veygman</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Does not make a difference. &amp;nbsp;The replay happens if the sequence numbers
&lt;br&gt;do not match between the parties.
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Mikhail Veygman
&lt;br&gt;&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: marksasson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26434706&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26434706&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;Subject: [Quickfix-developers] Re play
&lt;br&gt;Date: Thu, 19 Nov 2009 13:13:49 -0800 (PST)
&lt;br&gt;&lt;br&gt;QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This is a simple question. Does a replay happen only after application closed
&lt;br&gt;in an orderly fashion with a logout or does it happen also when the
&lt;br&gt;connection is terminated abruptly?
&lt;br&gt;&lt;br&gt;TIA
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26434706&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Replay-tp26421482p26434706.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26421482</id>
	<title>Replay</title>
	<published>2009-11-19T13:13:47Z</published>
	<updated>2009-11-19T13:13:47Z</updated>
	<author>
		<name>marksasson</name>
	</author>
	<content type="html">This is a simple question. Does a replay happen only after application closed in an orderly fashion with a logout or does it happen also when the connection is terminated abruptly?
&lt;br&gt;&lt;br&gt;TIA&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Replay-tp26421482p26421482.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26428954</id>
	<title>Re: 4.2	MessageCracker/MessageFactory	efficiency</title>
	<published>2009-11-19T08:03:11Z</published>
	<updated>2009-11-19T08:03:11Z</updated>
	<author>
		<name>Igor Seleznev-2</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi Rich,
&lt;br&gt;&lt;br&gt;Yes, not a single crash so far. We are using it in production.
&lt;br&gt;&lt;br&gt;I'll put it to QuickFIX GIT hub soon.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Igor
&lt;br&gt;&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Rich Holm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rholm@...&lt;/a&gt;] 
&lt;br&gt;Sent: Thursday, November 19, 2009 5:52 PM
&lt;br&gt;To: Igor Seleznev
&lt;br&gt;Cc: 'Kenny Stone'; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [Quickfix-developers] 4.2 MessageCracker/MessageFactory
&lt;br&gt;efficiency
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Igor,
&lt;br&gt;&lt;br&gt;Are those releases stable? Would you recommend them for production use?
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Rich
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Igor Seleznev wrote:
&lt;br&gt;&amp;gt; QuickFIX Documentation:
&lt;br&gt;&lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We made a significant performance improvement of QuickFIX a time ago 
&lt;br&gt;&amp;gt; by replacing std::string objects with C strings - it turned out that 
&lt;br&gt;&amp;gt; std::string from stlport under Solaris was performing allocations 
&lt;br&gt;&amp;gt; through some internal lock, which was a bottle-neck in a such 
&lt;br&gt;&amp;gt; configuration.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Anyway, such a change showed a performance improvement under other 
&lt;br&gt;&amp;gt; platforms (like Linux) where there was no issue with std::string's 
&lt;br&gt;&amp;gt; internal lock. That is, we eventually eliminated most of unnecessary 
&lt;br&gt;&amp;gt; alloc/free which std::string was a reason of.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With GIT it is now easier for us to share these quite big changes, if 
&lt;br&gt;&amp;gt; anyone is interested, of course.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Igor
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; *From:* Kenny Stone [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kstone@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; *Sent:* Thursday, November 19, 2009 3:16 AM
&lt;br&gt;&amp;gt; *To:* &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; *Subject:* Re: [Quickfix-developers] 4.2 MessageCracker/MessageFactory 
&lt;br&gt;&amp;gt; efficiency
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you decide to make some changes, we would be interested to see what 
&lt;br&gt;&amp;gt; you find out. There are already a few interesting branches 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://github.com/jaubrey/quickfix/network&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/jaubrey/quickfix/network&lt;/a&gt;&amp;gt; on the quickfix github 
&lt;br&gt;&amp;gt; page, one of which is performance related that will probably get 
&lt;br&gt;&amp;gt; merged at some point.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Kenny Stone
&lt;br&gt;&amp;gt; Connamara Systems, LLC
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Wed, Nov 18, 2009 at 5:02 PM, Dale Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QuickFIX Documentation: 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Rick,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Rick Lane wrote:
&lt;br&gt;&amp;gt; &amp;gt; We were recently taking a look through the FIX42_MessageCracker and
&lt;br&gt;&amp;gt; &amp;gt; MessageFactory code (we're using the .NET wrapper for Quickfix) to
&lt;br&gt;&amp;gt; &amp;gt; see if we could make some improvements in our order routing internal
&lt;br&gt;&amp;gt; &amp;gt; latency. We noticed that in both crack() and create()
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 1) it was doing string comparisons for the message type (when for FIX
&lt;br&gt;&amp;gt; &amp;gt; 4.2 all message types are a single character)
&lt;br&gt;&amp;gt; &amp;gt; 2) it was doing if-statements rather than a switch statement
&lt;br&gt;&amp;gt; &amp;gt; 3) the if-statement for ExecutionReport (which is the most frequent
&lt;br&gt;&amp;gt; &amp;gt; type of message) was 30th in this list!
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; So we figured we could speed this up substantially by:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 1) creating a switch() statement (that is constant time) instead of 60
&lt;br&gt;&amp;gt; &amp;gt; or so if-statements and
&lt;br&gt;&amp;gt; &amp;gt; 2) simply switch on the int value of the character (since we know it's
&lt;br&gt;&amp;gt; &amp;gt; only 1 character)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; However, in practice, we haven't noticed any speed gains and we almost
&lt;br&gt;&amp;gt; &amp;gt; seem to think we're seeing /slower /performance (this is tough to
&lt;br&gt;&amp;gt; &amp;gt; measure because we have to measure in conjunction with WireShark to
&lt;br&gt;&amp;gt; &amp;gt; see how long the message was outside our server (transit latency) and
&lt;br&gt;&amp;gt; &amp;gt; subtract that from the measured time in code).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; We're wondering if perhaps we aren't doing something correctly at
&lt;br&gt;&amp;gt; &amp;gt; compile time, if anyone has seen these if-statements and thought the
&lt;br&gt;&amp;gt; &amp;gt; same thing we thought, and if anyone has any input in general here.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Any help is greatly appreciated.
&lt;br&gt;&amp;gt; I recently spent several months reducing the latency in the QuickFAST
&lt;br&gt;&amp;gt; (not QuickFIX) decoder by two orders of magnitude (i.e. a factor of
&lt;br&gt;&amp;gt; 100) These observations are based on that work:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With the complexity of C++ and the sometimes remarkable ability of
&lt;br&gt;&amp;gt; modern compilers to optimize code, inspecting the C++ source code to
&lt;br&gt;&amp;gt; improve performance is rarely effective. For example, there are some
&lt;br&gt;&amp;gt; compilers that generate exactly the same code for a switch statement and
&lt;br&gt;&amp;gt; a chain of if-else's. As you pointed out, if the possible values are
&lt;br&gt;&amp;gt; sufficiently constrained it is possible to decide which code to execute
&lt;br&gt;&amp;gt; in constant time. Trying to improve performance by rearranging source
&lt;br&gt;&amp;gt; code with a compiler like that can be an exercise in futility.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A similar argument applies to the string comparison. If the comparison
&lt;br&gt;&amp;gt; is inline and the values being compared to are constant literals (like,
&lt;br&gt;&amp;gt; for example FIX tags) then the compiler may very well generate that
&lt;br&gt;&amp;gt; single character comparison for you!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The first step in improving performance should ALWAYS be to measure.
&lt;br&gt;&amp;gt; You need to run a profiler and watch the system under load. If you
&lt;br&gt;&amp;gt; work on a section of the code that is responsible for, say 1% of the
&lt;br&gt;&amp;gt; overall latency, and you find the perfect optimization, the best result
&lt;br&gt;&amp;gt; you could hope for is a 1% improvement in the overall system.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The next step in improving performance is to eliminate the noise.
&lt;br&gt;&amp;gt; Admittedly in the real world you need to be concerned with network
&lt;br&gt;&amp;gt; transmission time and efficiency of the communication stack, etc. but
&lt;br&gt;&amp;gt; if you're trying to improve the latency introduced by QuickFIX, you need
&lt;br&gt;&amp;gt; to get rid of these variables altogether, not just factor them out..
&lt;br&gt;&amp;gt; Otherwise trivial variations in the behavior of the network will totally
&lt;br&gt;&amp;gt; swamp the performance differences you are trying to measure. [Which
&lt;br&gt;&amp;gt; brings up a different point. The payoff in improving the network can
&lt;br&gt;&amp;gt; be far higher than the payoff in improving code at the QuickFIX level,
&lt;br&gt;&amp;gt; but I'll assume that's already done and you still want better 
&lt;br&gt;&amp;gt; performance..]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When the profiler directs your attention to a particular portion of the
&lt;br&gt;&amp;gt; code and you very carefully hand-optimize that section of code to
&lt;br&gt;&amp;gt; squeeze every possible CPU cycle out of it, run the profiler again!
&lt;br&gt;&amp;gt; Don't assume that just because the code looks faster, that it will
&lt;br&gt;&amp;gt; actually run faster. During the QuickFAST optimization process I spent
&lt;br&gt;&amp;gt; a lot of time creating a cache of very commonly used objects that could
&lt;br&gt;&amp;gt; be reused rather than being &amp;quot;new&amp;quot; ed and &amp;quot;deleted&amp;quot; every time. Net
&lt;br&gt;&amp;gt; result -- the performance was worse. I ended up throwing all that work
&lt;br&gt;&amp;gt; away, and trying a different approach.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And lastly, I hope you'll share the results of your efforts. I am very
&lt;br&gt;&amp;gt; interested in what works and what doesn't work when trying to improve
&lt;br&gt;&amp;gt; program performance.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Dale
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Dale Wilson
&lt;br&gt;&amp;gt; Principal Software Engineer
&lt;br&gt;&amp;gt; Object Computing, Inc. (www.ociweb.com &amp;lt;&lt;a href=&quot;http://www.ociweb.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ociweb.com&lt;/a&gt;&amp;gt;)
&lt;br&gt;&amp;gt; Lead developer for QuickFAST (http:www.quickfast.org 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://www.quickfast.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfast.org&lt;/a&gt;&amp;gt;)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Rick
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; P.S. I'm not sure what the process is (it's been so long now) but if
&lt;br&gt;&amp;gt; &amp;gt; you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt;&amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt; the mailing list so it will accept emails from him. Thanks again.
&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt;
&lt;/div&gt;----------------------------------------------------------------------------
&lt;br&gt;--
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and 
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt; Crystal Reports now. &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;----------------------------------------------------------------------------
&lt;br&gt;--
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and 
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;----------------------------------------------------------------------------
&lt;br&gt;--
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=14&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This message is intended only for the personal and confidential use of the
&lt;br&gt;recipients named above. 
&lt;br&gt;If the reader of this email is not the intended recipient, you have received
&lt;br&gt;this email in error and any review, 
&lt;br&gt;dissemination, distribution or copying is strictly prohibited. If you have
&lt;br&gt;received this email in error, 
&lt;br&gt;please notify the sender immediately by return email and permanently delete
&lt;br&gt;the copy you received. 
&lt;br&gt;&lt;br&gt;This message is provided for informational purposes and should not be
&lt;br&gt;construed as a solicitation or offer 
&lt;br&gt;to buy or sell any securities or related financial instruments. Wolverine is
&lt;br&gt;not responsible for any 
&lt;br&gt;recommendation, solicitation, offer or agreement or any information about
&lt;br&gt;any transaction, customer account 
&lt;br&gt;or account activity that may be attached to or contained in this
&lt;br&gt;communication. Wolverine accepts no 
&lt;br&gt;liability for any content contained in the email, or any errors or omissions
&lt;br&gt;arising as a result of 
&lt;br&gt;email transmission. Any opinions contained in this email constitute the
&lt;br&gt;sender's best judgment at this 
&lt;br&gt;time and are subject to change without notice.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428954&amp;i=15&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26428954.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26427957</id>
	<title>Re: 4.2	MessageCracker/MessageFactory	efficiency</title>
	<published>2009-11-19T06:51:38Z</published>
	<updated>2009-11-19T06:51:38Z</updated>
	<author>
		<name>Rich Holm-3</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Igor,
&lt;br&gt;&lt;br&gt;Are those releases stable? Would you recommend them for production use?
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Rich
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Igor Seleznev wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We made a significant performance improvement of QuickFIX a time ago 
&lt;br&gt;&amp;gt; by replacing std::string objects with C strings – it turned out that 
&lt;br&gt;&amp;gt; std::string from stlport under Solaris was performing allocations 
&lt;br&gt;&amp;gt; through some internal lock, which was a bottle-neck in a such 
&lt;br&gt;&amp;gt; configuration.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Anyway, such a change showed a performance improvement under other 
&lt;br&gt;&amp;gt; platforms (like Linux) where there was no issue with std::string’s 
&lt;br&gt;&amp;gt; internal lock. That is, we eventually eliminated most of unnecessary 
&lt;br&gt;&amp;gt; alloc/free which std::string was a reason of.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With GIT it is now easier for us to share these quite big changes, if 
&lt;br&gt;&amp;gt; anyone is interested, of course.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Igor
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; *From:* Kenny Stone [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kstone@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; *Sent:* Thursday, November 19, 2009 3:16 AM
&lt;br&gt;&amp;gt; *To:* &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; *Subject:* Re: [Quickfix-developers] 4.2 MessageCracker/MessageFactory 
&lt;br&gt;&amp;gt; efficiency
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you decide to make some changes, we would be interested to see what 
&lt;br&gt;&amp;gt; you find out. There are already a few interesting branches 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://github.com/jaubrey/quickfix/network&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/jaubrey/quickfix/network&lt;/a&gt;&amp;gt; on the quickfix github 
&lt;br&gt;&amp;gt; page, one of which is performance related that will probably get 
&lt;br&gt;&amp;gt; merged at some point.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Kenny Stone
&lt;br&gt;&amp;gt; Connamara Systems, LLC
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Wed, Nov 18, 2009 at 5:02 PM, Dale Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; QuickFIX Documentation: 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Rick,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Rick Lane wrote:
&lt;br&gt;&amp;gt; &amp;gt; We were recently taking a look through the FIX42_MessageCracker and
&lt;br&gt;&amp;gt; &amp;gt; MessageFactory code (we're using the .NET wrapper for Quickfix) to
&lt;br&gt;&amp;gt; &amp;gt; see if we could make some improvements in our order routing internal
&lt;br&gt;&amp;gt; &amp;gt; latency. We noticed that in both crack() and create()
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 1) it was doing string comparisons for the message type (when for FIX
&lt;br&gt;&amp;gt; &amp;gt; 4.2 all message types are a single character)
&lt;br&gt;&amp;gt; &amp;gt; 2) it was doing if-statements rather than a switch statement
&lt;br&gt;&amp;gt; &amp;gt; 3) the if-statement for ExecutionReport (which is the most frequent
&lt;br&gt;&amp;gt; &amp;gt; type of message) was 30th in this list!
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; So we figured we could speed this up substantially by:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 1) creating a switch() statement (that is constant time) instead of 60
&lt;br&gt;&amp;gt; &amp;gt; or so if-statements and
&lt;br&gt;&amp;gt; &amp;gt; 2) simply switch on the int value of the character (since we know it's
&lt;br&gt;&amp;gt; &amp;gt; only 1 character)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; However, in practice, we haven't noticed any speed gains and we almost
&lt;br&gt;&amp;gt; &amp;gt; seem to think we're seeing /slower /performance (this is tough to
&lt;br&gt;&amp;gt; &amp;gt; measure because we have to measure in conjunction with WireShark to
&lt;br&gt;&amp;gt; &amp;gt; see how long the message was outside our server (transit latency) and
&lt;br&gt;&amp;gt; &amp;gt; subtract that from the measured time in code).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; We're wondering if perhaps we aren't doing something correctly at
&lt;br&gt;&amp;gt; &amp;gt; compile time, if anyone has seen these if-statements and thought the
&lt;br&gt;&amp;gt; &amp;gt; same thing we thought, and if anyone has any input in general here.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Any help is greatly appreciated.
&lt;br&gt;&amp;gt; I recently spent several months reducing the latency in the QuickFAST
&lt;br&gt;&amp;gt; (not QuickFIX) decoder by two orders of magnitude (i.e. a factor of
&lt;br&gt;&amp;gt; 100) These observations are based on that work:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With the complexity of C++ and the sometimes remarkable ability of
&lt;br&gt;&amp;gt; modern compilers to optimize code, inspecting the C++ source code to
&lt;br&gt;&amp;gt; improve performance is rarely effective. For example, there are some
&lt;br&gt;&amp;gt; compilers that generate exactly the same code for a switch statement and
&lt;br&gt;&amp;gt; a chain of if-else's. As you pointed out, if the possible values are
&lt;br&gt;&amp;gt; sufficiently constrained it is possible to decide which code to execute
&lt;br&gt;&amp;gt; in constant time. Trying to improve performance by rearranging source
&lt;br&gt;&amp;gt; code with a compiler like that can be an exercise in futility.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A similar argument applies to the string comparison. If the comparison
&lt;br&gt;&amp;gt; is inline and the values being compared to are constant literals (like,
&lt;br&gt;&amp;gt; for example FIX tags) then the compiler may very well generate that
&lt;br&gt;&amp;gt; single character comparison for you!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The first step in improving performance should ALWAYS be to measure.
&lt;br&gt;&amp;gt; You need to run a profiler and watch the system under load. If you
&lt;br&gt;&amp;gt; work on a section of the code that is responsible for, say 1% of the
&lt;br&gt;&amp;gt; overall latency, and you find the perfect optimization, the best result
&lt;br&gt;&amp;gt; you could hope for is a 1% improvement in the overall system.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The next step in improving performance is to eliminate the noise.
&lt;br&gt;&amp;gt; Admittedly in the real world you need to be concerned with network
&lt;br&gt;&amp;gt; transmission time and efficiency of the communication stack, etc. but
&lt;br&gt;&amp;gt; if you're trying to improve the latency introduced by QuickFIX, you need
&lt;br&gt;&amp;gt; to get rid of these variables altogether, not just factor them out..
&lt;br&gt;&amp;gt; Otherwise trivial variations in the behavior of the network will totally
&lt;br&gt;&amp;gt; swamp the performance differences you are trying to measure. [Which
&lt;br&gt;&amp;gt; brings up a different point. The payoff in improving the network can
&lt;br&gt;&amp;gt; be far higher than the payoff in improving code at the QuickFIX level,
&lt;br&gt;&amp;gt; but I'll assume that's already done and you still want better 
&lt;br&gt;&amp;gt; performance..]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When the profiler directs your attention to a particular portion of the
&lt;br&gt;&amp;gt; code and you very carefully hand-optimize that section of code to
&lt;br&gt;&amp;gt; squeeze every possible CPU cycle out of it, run the profiler again!
&lt;br&gt;&amp;gt; Don't assume that just because the code looks faster, that it will
&lt;br&gt;&amp;gt; actually run faster. During the QuickFAST optimization process I spent
&lt;br&gt;&amp;gt; a lot of time creating a cache of very commonly used objects that could
&lt;br&gt;&amp;gt; be reused rather than being &amp;quot;new&amp;quot; ed and &amp;quot;deleted&amp;quot; every time. Net
&lt;br&gt;&amp;gt; result -- the performance was worse. I ended up throwing all that work
&lt;br&gt;&amp;gt; away, and trying a different approach.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And lastly, I hope you'll share the results of your efforts. I am very
&lt;br&gt;&amp;gt; interested in what works and what doesn't work when trying to improve
&lt;br&gt;&amp;gt; program performance.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Dale
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Dale Wilson
&lt;br&gt;&amp;gt; Principal Software Engineer
&lt;br&gt;&amp;gt; Object Computing, Inc. (www.ociweb.com &amp;lt;&lt;a href=&quot;http://www.ociweb.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ociweb.com&lt;/a&gt;&amp;gt;)
&lt;br&gt;&amp;gt; Lead developer for QuickFAST (http:www.quickfast.org 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://www.quickfast.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfast.org&lt;/a&gt;&amp;gt;)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Rick
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; P.S. I'm not sure what the process is (it's been so long now) but if
&lt;br&gt;&amp;gt; &amp;gt; you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt;&amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt; the mailing list so it will accept emails from him. Thanks again.
&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and 
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt; Crystal Reports now. &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and 
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This message is intended only for the personal and confidential use of the recipients named above. 
&lt;br&gt;If the reader of this email is not the intended recipient, you have received this email in error and any review, 
&lt;br&gt;dissemination, distribution or copying is strictly prohibited. If you have received this email in error, 
&lt;br&gt;please notify the sender immediately by return email and permanently delete the copy you received. 
&lt;br&gt;&lt;br&gt;This message is provided for informational purposes and should not be construed as a solicitation or offer 
&lt;br&gt;to buy or sell any securities or related financial instruments. Wolverine is not responsible for any 
&lt;br&gt;recommendation, solicitation, offer or agreement or any information about any transaction, customer account 
&lt;br&gt;or account activity that may be attached to or contained in this communication. Wolverine accepts no 
&lt;br&gt;liability for any content contained in the email, or any errors or omissions arising as a result of 
&lt;br&gt;email transmission. Any opinions contained in this email constitute the sender's best judgment at this 
&lt;br&gt;time and are subject to change without notice.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427957&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26427957.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26423651</id>
	<title>Re: 4.2 MessageCracker/MessageFactory	efficiency</title>
	<published>2009-11-19T02:02:17Z</published>
	<updated>2009-11-19T02:02:17Z</updated>
	<author>
		<name>Igor Seleznev-2</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=RU link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;Hi,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;We made a significant performance improvement of QuickFIX a time
ago by replacing std::string objects with C strings &amp;#8211; it turned out that
std::string from stlport under Solaris was performing allocations through some
internal lock, which was a bottle-neck in a such configuration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;Anyway, such a change showed a performance improvement under
other platforms (like Linux) where there was no issue with std::string&amp;#8217;s
internal lock. That is, we eventually eliminated most of unnecessary alloc/free
which std::string was a reason of.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;With GIT it is now easier for us to share these quite big changes,
if anyone is interested, of course.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;Regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;Igor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US style='font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'&gt;

&lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span lang=EN-US style='font-size:10.0pt;font-family:
&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span lang=EN-US style='font-size:10.0pt;
font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt; Kenny Stone [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kstone@...&lt;/a&gt;] &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; Thursday, November 19, 2009 3:16 AM&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; Re: [Quickfix-developers] 4.2 MessageCracker/MessageFactory efficiency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='margin-bottom:12.0pt'&gt;If you decide to make some
changes, we would be interested to see what you find out.&amp;nbsp; There are
already a few interesting &lt;a href=&quot;http://github.com/jaubrey/quickfix/network&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branches&lt;/a&gt;
on the quickfix github page, one of which is performance related that will
probably get merged at some point.&lt;br&gt;
&lt;br clear=all&gt;
--&lt;br&gt;
Kenny Stone&lt;br&gt;
Connamara Systems, LLC&lt;br&gt;
&lt;br&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=MsoNormal&gt;On Wed, Nov 18, 2009 at 5:02 PM, Dale Wilson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt;&amp;gt; wrote:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=MsoNormal style='margin-bottom:12.0pt'&gt;QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;
QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;Hi Rick,&lt;br&gt;
&lt;br&gt;
Rick Lane wrote:&lt;br&gt;
&amp;gt; We were recently taking a look through the FIX42_MessageCracker and&lt;br&gt;
&amp;gt; MessageFactory code (we're using the .NET wrapper for Quickfix) &amp;nbsp;to&lt;br&gt;
&amp;gt; see if we could make some improvements in our order routing internal&lt;br&gt;
&amp;gt; latency. &amp;nbsp;We noticed that in both crack() and create()&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 1) it was doing string comparisons for the message type (when for FIX&lt;br&gt;
&amp;gt; 4.2 all message types are a single character)&lt;br&gt;
&amp;gt; 2) it was doing if-statements rather than a switch statement&lt;br&gt;
&amp;gt; 3) the if-statement for ExecutionReport (which is the most frequent&lt;br&gt;
&amp;gt; type of message) was 30th in this list!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; So we figured we could speed this up substantially by:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 1) creating a switch() statement (that is constant time) instead of 60&lt;br&gt;
&amp;gt; or so if-statements and&lt;br&gt;
&amp;gt; 2) simply switch on the int value of the character (since we know it's&lt;br&gt;
&amp;gt; only 1 character)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; However, in practice, we haven't noticed any speed gains and we almost&lt;br&gt;
&amp;gt; seem to think we're seeing /slower /performance (this is tough to&lt;br&gt;
&amp;gt; measure because we have to measure in conjunction with WireShark to&lt;br&gt;
&amp;gt; see how long the message was outside our server (transit latency) and&lt;br&gt;
&amp;gt; subtract that from the measured time in code).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; We're wondering if perhaps we aren't doing something correctly at&lt;br&gt;
&amp;gt; compile time, if anyone has seen these if-statements and thought the&lt;br&gt;
&amp;gt; same thing we thought, and if anyone has any input in general here.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Any help is greatly appreciated.&lt;br&gt;
I recently spent several months reducing the latency in the QuickFAST&lt;br&gt;
(not QuickFIX) decoder by two orders of magnitude (i.e. a factor of&lt;br&gt;
100) &amp;nbsp;These observations are based on that work:&lt;br&gt;
&lt;br&gt;
With the complexity of C++ and the sometimes remarkable ability of&lt;br&gt;
modern compilers to optimize code, inspecting the C++ source code to&lt;br&gt;
improve performance is rarely effective. &amp;nbsp;For example, there are some&lt;br&gt;
compilers that generate exactly the same code for a switch statement and&lt;br&gt;
a chain of if-else's. As you pointed out, if the possible values are&lt;br&gt;
sufficiently constrained it is possible to decide which code to execute&lt;br&gt;
in constant time. &amp;nbsp; Trying to improve performance by rearranging source&lt;br&gt;
code with a compiler like that can be an exercise in futility.&lt;br&gt;
&lt;br&gt;
A similar argument applies to the string comparison. &amp;nbsp;If the comparison&lt;br&gt;
is inline and the values being compared to are constant literals (like,&lt;br&gt;
for example FIX tags) then the compiler may very well generate that&lt;br&gt;
single character comparison for you!&lt;br&gt;
&lt;br&gt;
The first step in improving performance should ALWAYS be to measure.&lt;br&gt;
You need to run a profiler and watch the system under load. &amp;nbsp; If you&lt;br&gt;
work on a section of the code that is responsible for, say 1% of the&lt;br&gt;
overall latency, and you find the perfect optimization, the best result&lt;br&gt;
you could hope for is a 1% improvement in the overall system.&lt;br&gt;
&lt;br&gt;
The next step in improving performance is to eliminate the noise.&lt;br&gt;
Admittedly in the real world you need to be concerned with network&lt;br&gt;
transmission time and efficiency of the communication stack, etc. &amp;nbsp;but&lt;br&gt;
if you're trying to improve the latency introduced by QuickFIX, you need&lt;br&gt;
to get rid of these variables altogether, not just factor them out..&lt;br&gt;
Otherwise trivial variations in the behavior of the network will totally&lt;br&gt;
swamp the performance differences you are trying to measure. &amp;nbsp; [Which&lt;br&gt;
brings up a different point. &amp;nbsp; The payoff in improving the network can&lt;br&gt;
be far higher than the payoff in improving code at the QuickFIX level,&lt;br&gt;
but I'll assume that's already done and you still want better performance..]&lt;br&gt;
&lt;br&gt;
When the profiler directs your attention to a particular portion of the&lt;br&gt;
code and you very carefully hand-optimize that section of code to&lt;br&gt;
squeeze every possible CPU cycle out of it, run the profiler again!&lt;br&gt;
Don't assume that just because the code looks faster, that it will&lt;br&gt;
actually run faster. &amp;nbsp;During the QuickFAST optimization process I spent&lt;br&gt;
a lot of time creating a cache of very commonly used objects that could&lt;br&gt;
be reused rather than being &amp;quot;new&amp;quot; ed and &amp;quot;deleted&amp;quot; every
time. &amp;nbsp;Net&lt;br&gt;
result -- the performance was worse. &amp;nbsp;I ended up throwing all that work&lt;br&gt;
away, and trying a different approach.&lt;br&gt;
&lt;br&gt;
And lastly, I hope you'll share the results of your efforts. &amp;nbsp;I am very&lt;br&gt;
interested in what works and what doesn't work when trying to improve&lt;br&gt;
program performance.&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
&lt;br&gt;
Dale&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Dale Wilson&lt;br&gt;
Principal Software Engineer&lt;br&gt;
Object Computing, Inc. (&lt;a href=&quot;http://www.ociweb.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.ociweb.com&lt;/a&gt;)&lt;br&gt;
Lead developer for QuickFAST (http:&lt;a href=&quot;http://www.quickfast.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.quickfast.org&lt;/a&gt;)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Rick&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; P.S. &amp;nbsp;I'm not sure what the process is (it's been so long now) but if&lt;br&gt;
&amp;gt; you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;
&amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt;
to&lt;br&gt;
&amp;gt; the mailing list so it will accept emails from him. &amp;nbsp;Thanks again.&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;
------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
30-Day&lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - and focus
on&lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what's new with&lt;br&gt;
&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Quickfix-developers mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what's new with&lt;br&gt;
Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Quickfix-developers mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423651&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26423651.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26418323</id>
	<title>Re: 4.2 MessageCracker/MessageFactory efficiency</title>
	<published>2009-11-18T16:15:45Z</published>
	<updated>2009-11-18T16:15:45Z</updated>
	<author>
		<name>Kenny Stone</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;If you decide to make some changes, we would be interested to see what you find out.  There are already a few interesting &lt;a href=&quot;http://github.com/jaubrey/quickfix/network&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branches&lt;/a&gt; on the quickfix github page, one of which is performance related that will probably get merged at some point.&lt;br&gt;

&lt;br clear=&quot;all&quot;&gt;--&lt;br&gt;Kenny Stone&lt;br&gt;Connamara Systems, LLC&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 18, 2009 at 5:02 PM, Dale Wilson &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wilsond@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;div class=&quot;im&quot;&gt;QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;
QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Hi Rick,&lt;br&gt;
&lt;br&gt;
Rick Lane wrote:&lt;br&gt;
&amp;gt; We were recently taking a look through the FIX42_MessageCracker and&lt;br&gt;
&amp;gt; MessageFactory code (we&amp;#39;re using the .NET wrapper for Quickfix)  to&lt;br&gt;
&amp;gt; see if we could make some improvements in our order routing internal&lt;br&gt;
&amp;gt; latency.  We noticed that in both crack() and create()&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 1) it was doing string comparisons for the message type (when for FIX&lt;br&gt;
&amp;gt; 4.2 all message types are a single character)&lt;br&gt;
&amp;gt; 2) it was doing if-statements rather than a switch statement&lt;br&gt;
&amp;gt; 3) the if-statement for ExecutionReport (which is the most frequent&lt;br&gt;
&amp;gt; type of message) was 30th in this list!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; So we figured we could speed this up substantially by:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 1) creating a switch() statement (that is constant time) instead of 60&lt;br&gt;
&amp;gt; or so if-statements and&lt;br&gt;
&amp;gt; 2) simply switch on the int value of the character (since we know it&amp;#39;s&lt;br&gt;
&amp;gt; only 1 character)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; However, in practice, we haven&amp;#39;t noticed any speed gains and we almost&lt;br&gt;
&amp;gt; seem to think we&amp;#39;re seeing /slower /performance (this is tough to&lt;br&gt;
&amp;gt; measure because we have to measure in conjunction with WireShark to&lt;br&gt;
&amp;gt; see how long the message was outside our server (transit latency) and&lt;br&gt;
&amp;gt; subtract that from the measured time in code).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; We&amp;#39;re wondering if perhaps we aren&amp;#39;t doing something correctly at&lt;br&gt;
&amp;gt; compile time, if anyone has seen these if-statements and thought the&lt;br&gt;
&amp;gt; same thing we thought, and if anyone has any input in general here.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Any help is greatly appreciated.&lt;br&gt;
I recently spent several months reducing the latency in the QuickFAST&lt;br&gt;
(not QuickFIX) decoder by two orders of magnitude (i.e. a factor of&lt;br&gt;
100)  These observations are based on that work:&lt;br&gt;
&lt;br&gt;
With the complexity of C++ and the sometimes remarkable ability of&lt;br&gt;
modern compilers to optimize code, inspecting the C++ source code to&lt;br&gt;
improve performance is rarely effective.  For example, there are some&lt;br&gt;
compilers that generate exactly the same code for a switch statement and&lt;br&gt;
a chain of if-else&amp;#39;s. As you pointed out, if the possible values are&lt;br&gt;
sufficiently constrained it is possible to decide which code to execute&lt;br&gt;
in constant time.   Trying to improve performance by rearranging source&lt;br&gt;
code with a compiler like that can be an exercise in futility.&lt;br&gt;
&lt;br&gt;
A similar argument applies to the string comparison.  If the comparison&lt;br&gt;
is inline and the values being compared to are constant literals (like,&lt;br&gt;
for example FIX tags) then the compiler may very well generate that&lt;br&gt;
single character comparison for you!&lt;br&gt;
&lt;br&gt;
The first step in improving performance should ALWAYS be to measure.&lt;br&gt;
You need to run a profiler and watch the system under load.   If you&lt;br&gt;
work on a section of the code that is responsible for, say 1% of the&lt;br&gt;
overall latency, and you find the perfect optimization, the best result&lt;br&gt;
you could hope for is a 1% improvement in the overall system.&lt;br&gt;
&lt;br&gt;
The next step in improving performance is to eliminate the noise.&lt;br&gt;
Admittedly in the real world you need to be concerned with network&lt;br&gt;
transmission time and efficiency of the communication stack, etc.  but&lt;br&gt;
if you&amp;#39;re trying to improve the latency introduced by QuickFIX, you need&lt;br&gt;
to get rid of these variables altogether, not just factor them out..&lt;br&gt;
Otherwise trivial variations in the behavior of the network will totally&lt;br&gt;
swamp the performance differences you are trying to measure.   [Which&lt;br&gt;
brings up a different point.   The payoff in improving the network can&lt;br&gt;
be far higher than the payoff in improving code at the QuickFIX level,&lt;br&gt;
but I&amp;#39;ll assume that&amp;#39;s already done and you still want better performance..]&lt;br&gt;
&lt;br&gt;
When the profiler directs your attention to a particular portion of the&lt;br&gt;
code and you very carefully hand-optimize that section of code to&lt;br&gt;
squeeze every possible CPU cycle out of it, run the profiler again!&lt;br&gt;
Don&amp;#39;t assume that just because the code looks faster, that it will&lt;br&gt;
actually run faster.  During the QuickFAST optimization process I spent&lt;br&gt;
a lot of time creating a cache of very commonly used objects that could&lt;br&gt;
be reused rather than being &amp;quot;new&amp;quot; ed and &amp;quot;deleted&amp;quot; every time.  Net&lt;br&gt;
result -- the performance was worse.  I ended up throwing all that work&lt;br&gt;
away, and trying a different approach.&lt;br&gt;
&lt;br&gt;
And lastly, I hope you&amp;#39;ll share the results of your efforts.  I am very&lt;br&gt;
interested in what works and what doesn&amp;#39;t work when trying to improve&lt;br&gt;
program performance.&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
&lt;br&gt;
Dale&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Dale Wilson&lt;br&gt;
Principal Software Engineer&lt;br&gt;
Object Computing, Inc. (&lt;a href=&quot;http://www.ociweb.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.ociweb.com&lt;/a&gt;)&lt;br&gt;
Lead developer for QuickFAST (http:&lt;a href=&quot;http://www.quickfast.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.quickfast.org&lt;/a&gt;)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Rick&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; P.S.  I&amp;#39;m not sure what the process is (it&amp;#39;s been so long now) but if&lt;br&gt;
&amp;gt; you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt; to&lt;br&gt;
&amp;gt; the mailing list so it will accept emails from him.  Thanks again.&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Quickfix-developers mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Quickfix-developers mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418323&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26418323.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417458</id>
	<title>Re: 4.2 MessageCracker/MessageFactory efficiency</title>
	<published>2009-11-18T15:02:51Z</published>
	<updated>2009-11-18T15:02:51Z</updated>
	<author>
		<name>Dale Wilson-4</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi Rick,
&lt;br&gt;&lt;br&gt;Rick Lane wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; We were recently taking a look through the FIX42_MessageCracker and 
&lt;br&gt;&amp;gt; MessageFactory code (we're using the .NET wrapper for Quickfix) &amp;nbsp;to 
&lt;br&gt;&amp;gt; see if we could make some improvements in our order routing internal 
&lt;br&gt;&amp;gt; latency. &amp;nbsp;We noticed that in both crack() and create() 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) it was doing string comparisons for the message type (when for FIX 
&lt;br&gt;&amp;gt; 4.2 all message types are a single character)
&lt;br&gt;&amp;gt; 2) it was doing if-statements rather than a switch statement
&lt;br&gt;&amp;gt; 3) the if-statement for ExecutionReport (which is the most frequent 
&lt;br&gt;&amp;gt; type of message) was 30th in this list!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So we figured we could speed this up substantially by:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) creating a switch() statement (that is constant time) instead of 60 
&lt;br&gt;&amp;gt; or so if-statements and
&lt;br&gt;&amp;gt; 2) simply switch on the int value of the character (since we know it's 
&lt;br&gt;&amp;gt; only 1 character)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; However, in practice, we haven't noticed any speed gains and we almost 
&lt;br&gt;&amp;gt; seem to think we're seeing /slower /performance (this is tough to 
&lt;br&gt;&amp;gt; measure because we have to measure in conjunction with WireShark to 
&lt;br&gt;&amp;gt; see how long the message was outside our server (transit latency) and 
&lt;br&gt;&amp;gt; subtract that from the measured time in code).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We're wondering if perhaps we aren't doing something correctly at 
&lt;br&gt;&amp;gt; compile time, if anyone has seen these if-statements and thought the 
&lt;br&gt;&amp;gt; same thing we thought, and if anyone has any input in general here.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any help is greatly appreciated.
&lt;/div&gt;I recently spent several months reducing the latency in the QuickFAST 
&lt;br&gt;(not QuickFIX) decoder by two orders of magnitude (i.e. a factor of 
&lt;br&gt;100) &amp;nbsp;These observations are based on that work:
&lt;br&gt;&lt;br&gt;With the complexity of C++ and the sometimes remarkable ability of 
&lt;br&gt;modern compilers to optimize code, inspecting the C++ source code to 
&lt;br&gt;improve performance is rarely effective. &amp;nbsp;For example, there are some 
&lt;br&gt;compilers that generate exactly the same code for a switch statement and 
&lt;br&gt;a chain of if-else's. As you pointed out, if the possible values are 
&lt;br&gt;sufficiently constrained it is possible to decide which code to execute 
&lt;br&gt;in constant time. &amp;nbsp; Trying to improve performance by rearranging source 
&lt;br&gt;code with a compiler like that can be an exercise in futility.
&lt;br&gt;&lt;br&gt;A similar argument applies to the string comparison. &amp;nbsp;If the comparison 
&lt;br&gt;is inline and the values being compared to are constant literals (like, 
&lt;br&gt;for example FIX tags) then the compiler may very well generate that 
&lt;br&gt;single character comparison for you!
&lt;br&gt;&lt;br&gt;The first step in improving performance should ALWAYS be to measure. &amp;nbsp;
&lt;br&gt;You need to run a profiler and watch the system under load. &amp;nbsp; If you 
&lt;br&gt;work on a section of the code that is responsible for, say 1% of the 
&lt;br&gt;overall latency, and you find the perfect optimization, the best result 
&lt;br&gt;you could hope for is a 1% improvement in the overall system.
&lt;br&gt;&lt;br&gt;The next step in improving performance is to eliminate the noise. &amp;nbsp; 
&lt;br&gt;Admittedly in the real world you need to be concerned with network 
&lt;br&gt;transmission time and efficiency of the communication stack, etc. &amp;nbsp;but 
&lt;br&gt;if you're trying to improve the latency introduced by QuickFIX, you need 
&lt;br&gt;to get rid of these variables altogether, not just factor them out.. &amp;nbsp;
&lt;br&gt;Otherwise trivial variations in the behavior of the network will totally 
&lt;br&gt;swamp the performance differences you are trying to measure. &amp;nbsp; [Which 
&lt;br&gt;brings up a different point. &amp;nbsp; The payoff in improving the network can 
&lt;br&gt;be far higher than the payoff in improving code at the QuickFIX level, 
&lt;br&gt;but I'll assume that's already done and you still want better performance..]
&lt;br&gt;&lt;br&gt;When the profiler directs your attention to a particular portion of the 
&lt;br&gt;code and you very carefully hand-optimize that section of code to 
&lt;br&gt;squeeze every possible CPU cycle out of it, run the profiler again! &amp;nbsp;
&lt;br&gt;Don't assume that just because the code looks faster, that it will 
&lt;br&gt;actually run faster. &amp;nbsp;During the QuickFAST optimization process I spent 
&lt;br&gt;a lot of time creating a cache of very commonly used objects that could 
&lt;br&gt;be reused rather than being &amp;quot;new&amp;quot; ed and &amp;quot;deleted&amp;quot; every time. &amp;nbsp;Net 
&lt;br&gt;result -- the performance was worse. &amp;nbsp;I ended up throwing all that work 
&lt;br&gt;away, and trying a different approach.
&lt;br&gt;&lt;br&gt;And lastly, I hope you'll share the results of your efforts. &amp;nbsp;I am very 
&lt;br&gt;interested in what works and what doesn't work when trying to improve 
&lt;br&gt;program performance.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Dale Wilson
&lt;br&gt;Principal Software Engineer 
&lt;br&gt;Object Computing, Inc. (www.ociweb.com)
&lt;br&gt;Lead developer for QuickFAST (http:www.quickfast.org)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Rick
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; P.S. &amp;nbsp;I'm not sure what the process is (it's been so long now) but if 
&lt;br&gt;&amp;gt; you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417458&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417458&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt;&amp;gt; to 
&lt;br&gt;&amp;gt; the mailing list so it will accept emails from him. &amp;nbsp;Thanks again.
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417458&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417458&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26417458.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417023</id>
	<title>Re: 4.2 MessageCracker/MessageFactory efficiency</title>
	<published>2009-11-18T14:31:08Z</published>
	<updated>2009-11-18T14:31:08Z</updated>
	<author>
		<name>Rick Lane-2</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;the point is probably moot -- it seems that Session.sendToTarget() is really the bottleneck.  We&amp;#39;re seeing roughly 250-300 microseconds (or 80% of our entire internal latency) for this call alone.  I wonder if anyone has had any success in speeding this up?  is it simply the socket API that is this slow?&lt;br&gt;

&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 18, 2009 at 4:04 PM, Rick Lane &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417023&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rick.lane@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;

Greetings,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We were recently taking a look through the FIX42_MessageCracker and MessageFactory code (we&amp;#39;re using the .NET wrapper for Quickfix)  to see if we could make some improvements in our order routing internal latency.  We noticed that in both crack() and create() &lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1) it was doing string comparisons for the message type (when for FIX 4.2 all message types are a single character)&lt;/div&gt;&lt;div&gt;2) it was doing if-statements rather than a switch statement&lt;/div&gt;&lt;div&gt;3) the if-statement for ExecutionReport (which is the most frequent type of message) was 30th in this list!&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So we figured we could speed this up substantially by:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1) creating a switch() statement (that is constant time) instead of 60 or so if-statements and&lt;/div&gt;&lt;div&gt;2) simply switch on the int value of the character (since we know it&amp;#39;s only 1 character)&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;However, in practice, we haven&amp;#39;t noticed any speed gains and we almost seem to think we&amp;#39;re seeing &lt;i&gt;slower &lt;/i&gt;performance (this is tough to measure because we have to measure in conjunction with WireShark to see how long the message was outside our server (transit latency) and subtract that from the measured time in code).&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We&amp;#39;re wondering if perhaps we aren&amp;#39;t doing something correctly at compile time, if anyone has seen these if-statements and thought the same thing we thought, and if anyone has any input in general here.&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help is greatly appreciated.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;&lt;div&gt;Rick&lt;/div&gt;&lt;/font&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;P.S.  I&amp;#39;m not sure what the process is (it&amp;#39;s been so long now) but if you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417023&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; to the mailing list so it will accept emails from him.  Thanks again.&lt;/div&gt;


&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417023&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26417023.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26416671</id>
	<title>4.2 MessageCracker/MessageFactory efficiency</title>
	<published>2009-11-18T14:04:21Z</published>
	<updated>2009-11-18T14:04:21Z</updated>
	<author>
		<name>Rick Lane-2</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;Greetings,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We were recently taking a look through the FIX42_MessageCracker and MessageFactory code (we&amp;#39;re using the .NET wrapper for Quickfix)  to see if we could make some improvements in our order routing internal latency.  We noticed that in both crack() and create() &lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1) it was doing string comparisons for the message type (when for FIX 4.2 all message types are a single character)&lt;/div&gt;&lt;div&gt;2) it was doing if-statements rather than a switch statement&lt;/div&gt;&lt;div&gt;3) the if-statement for ExecutionReport (which is the most frequent type of message) was 30th in this list!&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So we figured we could speed this up substantially by:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1) creating a switch() statement (that is constant time) instead of 60 or so if-statements and&lt;/div&gt;&lt;div&gt;2) simply switch on the int value of the character (since we know it&amp;#39;s only 1 character)&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;However, in practice, we haven&amp;#39;t noticed any speed gains and we almost seem to think we&amp;#39;re seeing &lt;i&gt;slower &lt;/i&gt;performance (this is tough to measure because we have to measure in conjunction with WireShark to see how long the message was outside our server (transit latency) and subtract that from the measured time in code).&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We&amp;#39;re wondering if perhaps we aren&amp;#39;t doing something correctly at compile time, if anyone has seen these if-statements and thought the same thing we thought, and if anyone has any input in general here.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help is greatly appreciated.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Rick&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;P.S.  I&amp;#39;m not sure what the process is (it&amp;#39;s been so long now) but if you could add &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26416671&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dan.lidor@...&lt;/a&gt; to the mailing list so it will accept emails from him.  Thanks again.&lt;/div&gt;

&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26416671&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/4.2-MessageCracker-MessageFactory-efficiency-tp26416671p26416671.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26414385</id>
	<title>is there a way to suppress a rejection message (C#)?</title>
	<published>2009-11-18T11:27:55Z</published>
	<updated>2009-11-18T11:27:55Z</updated>
	<author>
		<name>Gelfenbeyn, Igor</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 11 (filtered medium)&quot;&gt;


&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=3 face=&quot;Times New Roman&quot;&gt;&lt;span style='font-size:
12.0pt'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414385&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/is-there-a-way-to-suppress-a-rejection-message-%28C-%29--tp26414385p26414385.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26412510</id>
	<title>Re: QuickFix command-line tools?</title>
	<published>2009-11-18T09:48:40Z</published>
	<updated>2009-11-18T09:48:40Z</updated>
	<author>
		<name>Blabos de Blebe</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Where can I get command-line tools that use the QuickFix library?
&lt;br&gt;&lt;br&gt;Within the sources directory has a directory called examples, where
&lt;br&gt;are command line tools compiled during the quickfix compilation.
&lt;br&gt;&lt;br&gt;Blabos
&lt;br&gt;&lt;br&gt;On Wed, Nov 18, 2009 at 1:43 PM, Kelly Jones
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26412510&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kelly.terry.jones@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Where can I get command-line tools that use the QuickFix library?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I just want to connect to a FIX server, login, and send some simple
&lt;br&gt;&amp;gt; messages for starters.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there Perl/Ruby/PHP/etc support for QuickFix?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; We're just a Bunch Of Regular Guys, a collective group that's trying
&lt;br&gt;&amp;gt; to understand and assimilate technology. We feel that resistance to
&lt;br&gt;&amp;gt; new ideas and technology is unwise and ultimately futile.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26412510&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26412510&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFix-command-line-tools--tp26410245p26412510.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26411252</id>
	<title>Re: QuickFix command-line tools?</title>
	<published>2009-11-18T08:40:23Z</published>
	<updated>2009-11-18T08:40:23Z</updated>
	<author>
		<name>Kenny Stone</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;QuickFIX can build ruby and python bindings.  You specify them with the configure script:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://quickfixengine.org/quickfix/doc/html/building.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://quickfixengine.org/quickfix/doc/html/building.html&lt;/a&gt;&lt;br&gt;

&lt;br clear=&quot;all&quot;&gt;--&lt;br&gt;Kenny Stone&lt;br&gt;Connamara Systems, LLC&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Nov 18, 2009 at 9:43 AM, Kelly Jones &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26411252&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kelly.terry.jones@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;
QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Where can I get command-line tools that use the QuickFix library?&lt;br&gt;
&lt;br&gt;
I just want to connect to a FIX server, login, and send some simple&lt;br&gt;
messages for starters.&lt;br&gt;
&lt;br&gt;
Is there Perl/Ruby/PHP/etc support for QuickFix?&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
We&amp;#39;re just a Bunch Of Regular Guys, a collective group that&amp;#39;s trying&lt;br&gt;
to understand and assimilate technology. We feel that resistance to&lt;br&gt;
new ideas and technology is unwise and ultimately futile.&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Quickfix-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26411252&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26411252&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFix-command-line-tools--tp26410245p26411252.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26410302</id>
	<title>Re: tradeclient logs</title>
	<published>2009-11-18T07:46:44Z</published>
	<updated>2009-11-18T07:46:44Z</updated>
	<author>
		<name>Dale Wilson-4</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Joaquín Gracia wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm using an application directly developed from the tradeclient &amp;nbsp;
&lt;br&gt;&amp;gt; example in C++.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; How can I make this applicaton generate a log file with all messages &amp;nbsp;
&lt;br&gt;&amp;gt; sent and received?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;**
&lt;br&gt;&lt;br&gt;Change the code to use FIX::FileLogFactory rather than FIX::ScreenLogFactory.
&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;**
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26410302&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26410302&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/tradeclient-logs-tp26409801p26410302.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26410245</id>
	<title>QuickFix command-line tools?</title>
	<published>2009-11-18T07:43:47Z</published>
	<updated>2009-11-18T07:43:47Z</updated>
	<author>
		<name>kellyterryjones</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Where can I get command-line tools that use the QuickFix library?
&lt;br&gt;&lt;br&gt;I just want to connect to a FIX server, login, and send some simple
&lt;br&gt;messages for starters.
&lt;br&gt;&lt;br&gt;Is there Perl/Ruby/PHP/etc support for QuickFix?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;We're just a Bunch Of Regular Guys, a collective group that's trying
&lt;br&gt;to understand and assimilate technology. We feel that resistance to
&lt;br&gt;new ideas and technology is unwise and ultimately futile.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26410245&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFix-command-line-tools--tp26410245p26410245.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26409801</id>
	<title>tradeclient logs</title>
	<published>2009-11-18T07:18:55Z</published>
	<updated>2009-11-18T07:18:55Z</updated>
	<author>
		<name>Tximo</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hi all,
&lt;br&gt;&lt;br&gt;I'm using an application directly developed from the tradeclient &amp;nbsp;
&lt;br&gt;example in C++.
&lt;br&gt;&lt;br&gt;How can I make this applicaton generate a log file with all messages &amp;nbsp;
&lt;br&gt;sent and received?
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26409801&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/tradeclient-logs-tp26409801p26409801.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26409776</id>
	<title>Re: kishore - request for help : very new to QuickFix</title>
	<published>2009-11-18T07:15:50Z</published>
	<updated>2009-11-18T07:15:50Z</updated>
	<author>
		<name>Dale Wilson-4</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;mn kishore wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Dear All, 
&lt;br&gt;&amp;gt; &amp;nbsp; Sorry, if it is the same old repeated post. As I could not able to 
&lt;br&gt;&amp;gt; fix the problem, I am sending this post. I greatly appreciate your 
&lt;br&gt;&amp;gt; kind help.
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; I am very new to QuickFix. I have downloaded quickfix-1.12.4 and 
&lt;br&gt;&amp;gt; trying to some tests on VS2008. &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; In the QuickFix documentation &amp;nbsp;it is mentioned:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /Simply open the appropriate solution file and do a *batch build of 
&lt;br&gt;&amp;gt; all the projects*. This will create *lib\quickfix.lib* and 
&lt;br&gt;&amp;gt; *lib\debug\quickfix.lib* which can be linked into your applications. 
&lt;br&gt;&amp;gt; The header files will also be copied to the include directory. /
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, I have double clicked quickfix_vs8, but I could not able to see 
&lt;br&gt;&amp;gt; any batch build option. Can any one please kindly tell me, how to do 
&lt;br&gt;&amp;gt; this batch build of all projects?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When I just click 'start debug' it is throwing error, saying that 
&lt;br&gt;&amp;gt; 'can't include ole2.h' '.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Could you please kindly help me with this start up problem?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have gone through the mailing list and down loaded the two missing 
&lt;br&gt;&amp;gt; .dlls (quickfix_net_messages.dll and quickfix_net.dll) &amp;nbsp;but still &amp;nbsp;the 
&lt;br&gt;&amp;gt; problem remianed as it is.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks in advance.
&lt;br&gt;&amp;gt;
&lt;/div&gt;Open the solution file in Visual Studio
&lt;br&gt;Select either a debug or release build (there's a drop down box for this 
&lt;br&gt;near the center, top of the screen)
&lt;br&gt;Select the Menu item Build | Rebuild solution
&lt;br&gt;&lt;br&gt;-------
&lt;br&gt;Later if you make any changes you can select Build | Build Solution 
&lt;br&gt;rather than Rebuild solution.
&lt;br&gt;-------
&lt;br&gt;There is also a batch build option under the build menu. &amp;nbsp;If you use it 
&lt;br&gt;and &amp;quot;select all&amp;quot; you can do both release builds and debug builds at the 
&lt;br&gt;same time.
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; M. N. Kishore Babu.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Quickfix-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26409776&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26409776&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/kishore---request-for-help-%3A-very-new-to-QuickFix-tp26403190p26409776.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26404688</id>
	<title>ResendRequest/SequenceReset - Gap Fill then nothing</title>
	<published>2009-11-18T01:22:37Z</published>
	<updated>2009-11-23T00:03:45Z</updated>
	<author>
		<name>T_J</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;Long time reader, first time poster. 
&lt;br&gt;&lt;br&gt;We have a week long session with a third party that insists on dropping the session every night for a couple of hours to run their end of day processing. During this period we obviously continue to attempt to Logon until they come back up again. We also send them Exec and TradeCap reports during this period which are persisted for replay on their reconnect. However, here we have the issue. This is what happened last night (times are GMT, though actually pretty unimportant :) ):
&lt;br&gt;&lt;br&gt;1) The third party disconnect at 22:00. Our last sequence number to them was 3457 - a Logon attempt.
&lt;br&gt;&lt;br&gt;2) We send a bunch of Logon attempts which push up the sequence numbers from our end.
&lt;br&gt;&lt;br&gt;3) We send some Exec and Trade Cap reports from sequence number 3635.
&lt;br&gt;&lt;br&gt;4) They reconnect and Logon at 01:55. They send us a ResendRequest for sequence numbers 3458 to 0 (all).
&lt;br&gt;&lt;br&gt;8=FIX.4.4 9=85 35=2 34=3260 49=X 52=20091118-01:55:12.647 56=Y 7=3458 16=0 10=255
&lt;br&gt;&lt;br&gt;This is correct.
&lt;br&gt;&lt;br&gt;5) We send them a GapFill SequenceReset for sequence number 3635:
&lt;br&gt;&lt;br&gt;8=FIX.4.4 9=110 35=4 34=3458 43=Y 49=Y 52=20091118-01:55:12 56=X 122=20091118-01:55:12 36=3635 123=Y 10=029
&lt;br&gt;&lt;br&gt;This looks fine to me, to fill the gap of all the Logon requests before we get the first Exec Report.
&lt;br&gt;&lt;br&gt;6) I would then expect us to resend the exec and trade cap reports. However, nothing else is resent and the heartbeats continue from 3635.
&lt;br&gt;&lt;br&gt;It appears that the fix engine is sending the Gap Fill and then stopping the resend processing, even though there are trade messages to be resent.
&lt;br&gt;&lt;br&gt;Is this something that anyone else has witnessed ?
&lt;br&gt;Could it be configuration ? This seems like something that should pretty obviously be working and so I am confused as to why it isn't
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ResendRequest-SequenceReset---Gap-Fill-then-nothing-tp26404688p26404688.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26403190</id>
	<title>kishore - request for help : very new to QuickFix</title>
	<published>2009-11-17T22:27:15Z</published>
	<updated>2009-11-17T22:27:15Z</updated>
	<author>
		<name>mn kishore</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;div&gt;Dear All, &lt;/div&gt;
&lt;div&gt;  Sorry, if it is the same old repeated post. As I could not able to fix the problem, I am sending this post. I greatly appreciate your kind help. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I am very new to QuickFix. I have downloaded quickfix-1.12.4 and trying to some tests on VS2008.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;In the QuickFix documentation  it is mentioned:&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;em&gt;Simply open the appropriate solution file and do a &lt;strong&gt;batch build of all the projects&lt;/strong&gt;. This will create &lt;b&gt;lib\quickfix.lib&lt;/b&gt; and &lt;b&gt;lib\debug\quickfix.lib&lt;/b&gt; which can be linked into your applications. The header files will also be copied to the include directory. &lt;/em&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;p&gt;So, I have double clicked quickfix_vs8, but I could not able to see any batch build option. Can any one please kindly tell me, how to do this batch build of all projects?&lt;/p&gt;
&lt;p&gt;When I just click &amp;#39;start debug&amp;#39; it is throwing error, saying that &amp;#39;can&amp;#39;t include ole2.h&amp;#39; &amp;#39;.&lt;/p&gt;
&lt;p&gt;Could you please kindly help me with this start up problem?&lt;/p&gt;
&lt;p&gt;I have gone through the mailing list and down loaded the two missing .dlls (quickfix_net_messages.dll and quickfix_net.dll)  but still  the problem remianed as it is. &lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;M. N. Kishore Babu. &lt;/p&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26403190&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-users&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/kishore---request-for-help-%3A-very-new-to-QuickFix-tp26403190p26403190.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26395046</id>
	<title>Re: (no subject)</title>
	<published>2009-11-17T10:27:52Z</published>
	<updated>2009-11-17T10:27:52Z</updated>
	<author>
		<name>marksasson</name>
	</author>
	<content type="html">I got the following response via email: 
&lt;br&gt;&lt;br&gt;From: Blabos de Blebe [mailto:blabos@gmail.com] 
&lt;br&gt;Sent: Tuesday, November 17, 2009 5:02 AM
&lt;br&gt;To: Mark Sasson
&lt;br&gt;Subject: Re: [Quickfix-developers] (no subject)
&lt;br&gt;&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;Here, we have an application that is a client and a server
&lt;br&gt;simultaneously too, and works fine.
&lt;br&gt;&lt;br&gt;Our approach was to create a FIX::Application for initiators and
&lt;br&gt;another to acceptors.
&lt;br&gt;&lt;br&gt;Our application (written only in C++) connects clients and / or
&lt;br&gt;servers who do not have access (who knows what language they were
&lt;br&gt;written ...).
&lt;br&gt;&lt;br&gt;Sometimes we have to analyze the sockets status, connections, etc,etc,
&lt;br&gt;but it works well.
&lt;br&gt;&lt;br&gt;Some sockets communications have obscure pitfalls depending on which
&lt;br&gt;operation system you are.
&lt;br&gt;&lt;br&gt;Blabos
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;marksasson wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I am a quickfix developer who wrote some quickfix applications. We have an
&lt;br&gt;application which is both a server and a client written in C#. It is a
&lt;br&gt;client of the vendor but also a server for another client. &amp;nbsp;The client
&lt;br&gt;communicating with the server/client written in C++. Once in a while the
&lt;br&gt;communication is broken. Our C# server stops responding to our C++ client
&lt;br&gt;and does not send heartbeat or even respond to a TestRequest that the client
&lt;br&gt;sends. As result our client disconnects from the session and repeatedly
&lt;br&gt;sends a logon message to the server. The C# server keeps disconnecting the
&lt;br&gt;client believing that the original session is still in progress and the
&lt;br&gt;client get a socket reset. This goes on until we restart both.
&lt;br&gt;Has anyone seen anything like that before? Did anyone try running a
&lt;br&gt;application that is both server and client? Could you please point me in the
&lt;br&gt;right direction?
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;Quickfix-developers@lists.sourceforge.net
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%28no-subject%29-tp26376288p26395046.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26376288</id>
	<title>(no subject)</title>
	<published>2009-11-16T08:52:07Z</published>
	<updated>2009-11-16T08:52:07Z</updated>
	<author>
		<name>marksasson</name>
	</author>
	<content type="html">QuickFIX Documentation: &lt;a href=&quot;http://www.quickfixengine.org/quickfix/doc/html/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/quickfix/doc/html/index.html&lt;/a&gt;&lt;br&gt;QuickFIX Support: &lt;a href=&quot;http://www.quickfixengine.org/services.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quickfixengine.org/services.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;I am a quickfix developer who wrote some quickfix
applications. We have an application which is both a server and a client
written in C#. It is a client of the vendor but also a server for another
client. &amp;nbsp;The client communicating with the server/client written in C++.
Once in a while the communication is broken. Our C# server stops responding to
our C++ client and does not send heartbeat or even respond to a TestRequest
that the client sends. As result our client disconnects from the session and
repeatedly sends a logon message to the server. The C# server keeps
disconnecting the client believing that the original session is still in
progress and the client get a socket reset. This goes on until we restart both.&lt;br&gt;
Has anyone seen anything like that before? Did anyone try running a application
that is both server and client? Could you please point me in the right
direction?&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Quickfix-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26376288&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Quickfix-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/quickfix-developers&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---Dev-f1041.html&quot; embed=&quot;fixTarget[1041]&quot; target=&quot;_top&quot; &gt;QuickFIX - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%28no-subject%29-tp26376288p26376288.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26351272</id>
	<title>Re: QuickFix and Trading Technologies FIX Adpater</title>
	<published>2009-11-14T08:05:03Z</published>
	<updated>2009-11-14T08:05:03Z</updated>
	<author>
		<name>Ben Lackey</name>
	</author>
	<content type="html">Hi Kenny,
&lt;br&gt;&lt;br&gt;Thanks for the quick response.
&lt;br&gt;&lt;br&gt;Am I correct in thinking that if I use user_defined to stick fields in messages then I'm effective overriding the typing that's enforced if you use the generated headers?
&lt;br&gt;&lt;br&gt;How do the user defined fields and the data dictionary relate? &amp;nbsp;The image I have currently is that the data dictionary is used to validate messages somewhere inside the QuickFix engine and then the generated headers or user defined fields are used to actually build those messages. &amp;nbsp;Is that correct?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Ben&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/QuickFIX---User-f1042.html&quot; embed=&quot;fixTarget[1042]&quot; target=&quot;_top&quot; &gt;QuickFIX - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/QuickFix-and-Trading-Technologies-FIX-Adapter-tp26350451p26351272.html" />
</entry>

</feed>
