[Quickfix-developers] Preliminary support for FIX 4.3 in CVS
Brought to you by:
orenmnero
From: <OM...@th...> - 2002-12-12 03:59:58
|
The repository has the first initial support for FIX 4.3. We still need to design and run a full suite of acceptance tests against it before we consider it production ready, but it is far enough along to start prototyping your 4.3 support. All API's, C++, java, and .NET support 4.3. It should also compile on windows, linux, and solaris. The java interface has also been given more power such as the ability to lookup sessions and reset them programatically like in C++. Patches submitted to the list should have been applied as well, let me know if you notice any that are missing. After we finish up the final touches with 4.3 we are moving on to encryption as our next major feature. Anybody planning to use encryption, please let us know which algoritms you want supported. We will pick the most wanted one as the pilot for initial encryption support. There is a new FIX43.xml file in the spec directory. You will notice a couple of things about this XML file. 1) Redundant field numbers have gone away The format for the XML used to be like this: ... <messages ...> <message ...> <field number="2" name="AdvId" required="Y"/> </message> </messages> <fields> <field number="2" name="AdvId" type="STRING"/> </fields> ... now you can do this. ... <messages ...> <message ...> <field name="AdvId" required="Y"/> (no longer need field number, easy!) </message> </messages> <fields> <field number="2" name="AdvId" type="STRING"/> </fields> ... It's a small thing but it really makes a huge difference in easily and quickly defining messages without needing to lookup numbers or even accidentally using the wrong number. 2) Support for component blocks <components> <component name="Instrument"> <field name="Symbol" required="N"/> ... </component> </components> And you can include component blocks into messages or groups like so.. <message name="NewOrderSingle" msgtype="D" msgcat="app"> <field name="ClOrdID" required="Y"/> ... <component name="Instrument" required="Y"/> </message> So now if you have a new addition to a component, you just change it in one place and any message or group using it automatically inherits all the fields. This really makes things easy. In order to accomodate all the jumping around, we have switched from SAX to DOM. Also note that the generated messages file for FIX4.3 in C++ is very large. Visual C++ 6.0 and possibly 7.0 users may need to increase their internal compiler heap size by using the /Zm compiler flag in their projects (200 should be sufficient). --oren |