quickfix-developers Mailing List for QuickFIX (Page 306)
Brought to you by:
orenmnero
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <OM...@th...> - 2002-06-06 18:28:23
|
Justin, Can you give some more details. Are you running on Solaris or Linux, w= hich kernal? What version of gcc are you using? Can you also recompile with= the -g option and post the core file so everyone can take a look at the sta= ck? --oren |---------+-----------------------------------------------> | | Justin Pauley <jp...@fs...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 06/06/2002 01:04 PM | | | | |---------+-----------------------------------------------> >--------------------------------------------------------------------= --------------------------| | = | | To: qui...@li... = | | cc: = | | Subject: [Quickfix-developers] Segmentation Fault = | >--------------------------------------------------------------------= --------------------------| I just compiled tradeclient and ordermatch and when I run tradeclient I= get a segmentation Fault? any ideas? Here is the session Justin [root@eats tradeclient]# ./tradeclient -f test_conf.cfg 1) Enter Order 2) Cancel Order 3) Replace Order Action: Logon - BeginString: FIX.4.1, SenderCompID: direct57, TargetCompID: IB 1 1) FIX.4.0 2) FIX.4.1 3) FIX.4.2 BeginString: 2 NewOrderSingle 1) Market 2) Limit 3) Stop 4) Stop Limit OrdType: 1 1) Buy 2) Sell 3) Sell Short 4) Sell Short Exempt 5) Cross 6) Cross Short 7) Cross Short Exempt Side: 1 Symbol: rhat ClOrdID: 0000 OrderQty: 10 1) Day 2) IOC 3) OPG 4) GTC 5) GTX TimeInForce: 1 SenderCompID: direct57 TargetCompID: IB Use a TargetSubID?: n Send order?: y Segmentation fault = |
From: Justin P. <jp...@fs...> - 2002-06-06 18:04:25
|
I just compiled tradeclient and ordermatch and when I run tradeclient I get a segmentation Fault. any ideas? Here is the session Justin [root@eats tradeclient]# ./tradeclient -f test_conf.cfg 1) Enter Order 2) Cancel Order 3) Replace Order Action: Logon - BeginString: FIX.4.1, SenderCompID: direct57, TargetCompID: IB 1 1) FIX.4.0 2) FIX.4.1 3) FIX.4.2 BeginString: 2 NewOrderSingle 1) Market 2) Limit 3) Stop 4) Stop Limit OrdType: 1 1) Buy 2) Sell 3) Sell Short 4) Sell Short Exempt 5) Cross 6) Cross Short 7) Cross Short Exempt Side: 1 Symbol: rhat ClOrdID: 0000 OrderQty: 10 1) Day 2) IOC 3) OPG 4) GTC 5) GTX TimeInForce: 1 SenderCompID: direct57 TargetCompID: IB Use a TargetSubID?: n Send order?: y Segmentation fault |
From: Justin P. <jp...@fs...> - 2002-06-04 17:22:58
|
I have ordermatch and tradeclient setup, and I go to place an order on tradeclient and on the ordermatch CRT nothing happens, but in its logs I see: 8=FIX.4.19=9835=334=149=IB52=20020604-15:07:2556=direct5745=158=Required tag missing371=141372=A373=110=0838=FIX.4.19=9835=334=249=IB52=20020604-15:1 1:0856=direct5745=158=Required tag missing371=141372=A373=110=080 8=FIX.4.19=9835=334=149=IB52=20020604-15:15:5956=direct5745=958=Required tag missing371=141372=A373=110=097 Can anyone help me figure out why I am getting this error? Thanks, Justin Pauley |
From: Justin P. <jp...@fs...> - 2002-06-03 19:23:38
|
Hello, I am having a problem getting started using the example programs I have tradeclient and ordermatch compiled, however after I send in an order ordermatch does nothing and there is nothing in its log files. Do I have something misconfigured? There doesn't seem to be much documentation on setting these up. I assume that I just place an order via tradeclient and ordermatch would do something that would confirm it? Here is what tradeclient says after I send in a order: 8=FIX.4.19=9835=D34=2849=direct5752=20020603-17:11:0956=IB11=000021=138= 1040=244=1054=155=rhat59=010=237 Thanks, Justin Pauley Here is the config file for tradeclient: DEFAULT] ConnectionType=initiator ReconnectInterval=20 FileStorePath=logs SenderCompID=<removed> SocketAcceptPort=15207 [SESSION] ConnectionType=initiator TargetCompID=IB HeartBtInt=30 BeginString=FIX.4.1 DataDictionary=spec/FIX41.xml SocketConnectPort=15207 SocketConnectHost=208.245.107.4 StartTime=01:00:00 EndTime=23:00:00 Here is my config file for ordermatch: [DEFAULT] ConnectionType=acceptor ReconnectInterval=20 FileStorePath=logs2 SenderCompID=direct57 SocketAcceptPort=15207 [SESSION] TargetCompID=IB HeartBtInt=30 BeginString=FIX.4.1 DataDictionary=spec/FIX41.xml StartTime=01:00:00 EndTime=23:00:00 What am I doing wrong? :( |
From: <OM...@th...> - 2002-05-16 10:08:47
|
>>3) Run a Sell Side Simulator...something that accepts New Single Orders and >>then sends back one or more Execution Reports (Fills) or maybe a Reject! >As I mentioned I didn't work on the simulator, so I don't know its >capabilities. I'll leave that one to Oren. Yes, the ordermatcher will generate execution reports. An execution report with a status of new will be sent upon receit of a limit order. A fill can be generated by putting in a matching limit order. A reject can be generated by putting in something unsupported like a market order. --oren |
From: <WEC...@th...> - 2002-05-16 03:48:25
|
Hi Tony, One more thing: In the interest of accuracy, I just wanted to point out that the Java include and lib dirs need to be in your path *somehow* (e.g. I believe you can also use the environment variables INCLUDE and LIB) you don't have to set them through the VS GUI. And while I am trying to be accurate, it doesn't really matter what workspace (if any) that you open. Those settings are on a per user basis, and get stored in the registry for all of your Visual Studio projects -- they are not project specific. BTW, the paths aren't in the project file because people install the JDK to different places, so rather than have them be wrong, I believe the decision was to that its better to just let each person who is interested in building the client, add them. There that is more accurate, I am sure someone will correct me if I got that wrong. Now I can go to bed :-) Best, Bill |
From: <WEC...@th...> - 2002-05-16 03:19:54
|
Hi Tony, The only warnings you should be getting are C4786 errors in some odd places where they haven't been suppressed. If you are getting others, you may need to look into why they are occurring. Also after building its a good idea to run the tests to make sure everything built right. Open a command prompt and cd into quickfix\test and type: runut debug 5000 and then runat debug 5000 They both should pass at 100% >1) What process is teh actual FIX ENgine? The engine itself is a library that is linked into your executable. If you take a look at the example programs, you can see how this works. There is the console client (quickfix\examples\tradeclient) and the exchange simulator (quickfix\examples\ordermatch) I do not know if it generates execution reports (I don't think it does, but I didn't work on it) but we would welcome the addition of that capability if you have the time. ;-) If you want another example, the test runners, at_server and at_client also show how to use the library. Of course, if you haven't already done so, I highly recommend walking through this tutorial: http://quickfix.thoughtworks.com/documentation/index.html >2) Run a test client... I can't build the Java stuff...can some one send >be teh Java client built? If you have the JDK installed, you just need to open up the workspace (quickfix\src\java\quickfix_jni.dsw) and add -- under Tools/Options (Directories tab) -- the proper paths to you java include and lib directories. e.g.: Include: C:\JDK1.3.1_01\INCLUDE C:\JDK1.3.1_01\INCLUDE\WIN32 Lib: C:\JDK1.3.1_01\lib Without the JDK installed you won't be able to run the Java client, so if you can't build it but you have the JDK this is probably why (its built from the build batch file). >3) Run a Sell Side Simulator...something that accepts New Single Orders and >then sends back one or more Execution Reports (Fills) or maybe a Reject! As I mentioned I didn't work on the simulator, so I don't know its capabilities. I'll leave that one to Oren. Hope this helps. Best, Bill William E. Caputo ThoughtWorks, Inc. |---------+-----------------------------------------------> | | "Tony Leott" | | | <to...@pi...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/15/2002 10:05 PM | | | Please respond to tonyl | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: "Bernard Spanger" <bsp...@gx...>, <OM...@th...> | | cc: <qui...@li...>, | | <qui...@li...> | | Subject: [Quickfix-developers] Need Execution Reports | >----------------------------------------------------------------------------------------------| Hi, I need to create a simulator that generates execution reports... does such a thing exist? I have been unable to configure and get the "match program running" I will try again now...I have compiled every thing under VC++ 6.0 E SP 5 It compiles clean...not many warnings...nice job guys! What are the steps in getting teh following working: 1) What process is teh actual FIX ENgine? 2) Run a test client... I can't build the Java stuff...can some one send be teh Java client built? 3) Run a Sell Side Simulator...something that accepts New Single Orders and then sends back one or more Execution Reports (Fills) or maybe a Reject! Tony _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Tony L. <to...@pi...> - 2002-05-16 02:00:03
|
Hi, I need to create a simulator that generates execution reports... does such a thing exist? I have been unable to configure and get the "match program running" I will try again now...I have compiled every thing under VC++ 6.0 E SP 5 It compiles clean...not many warnings...nice job guys! What are the steps in getting teh following working: 1) What process is teh actual FIX ENgine? 2) Run a test client... I can't build the Java stuff...can some one send be teh Java client built? 3) Run a Sell Side Simulator...something that accepts New Single Orders and then sends back one or more Execution Reports (Fills) or maybe a Reject! Tony |
From: <OM...@th...> - 2002-05-10 22:29:44
|
Bernard, One other thing I would suggest is to change the check from: if(beginString != FIX::BeginString_FIX41) to: if(beginString >= FIX::BeginString_FIX42) That way earlier versions like 4.0 will also be sent without those fields. In order to do this you will also need to add a new operator overload for > = to the StringField class. Alternatively you can just get the field out as a string ( using getValue() ) and do the comparison against that. Thanks for the patch. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/10/2002 10:28 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Changed code to suppress RefMsgType, RefTagID and | | SessionRejectReason tags in FIX 4.1 Reject Message | >----------------------------------------------------------------------------------------------| If anyone is using QuickFIX for a 4.1 session, following are the changes I made to Session.cpp to suppress the RefMsgType, RefTagID and SessionRejectReason tags in the Reject Message. Before this change, a reject message caused each side to continue to exchange infinite reject messages. This seems to take care of the problem. - Bernard ---------------------------------------------------------------------------- ---- void Session::generateReject( const Message& message, int err, int field ) { Message reject; reject.getHeader().setField(MsgType("3")); fill( reject.getHeader() ); FIX::BeginString beginString; // Changed by Bernard on 5/10/02. message.getHeader().getField(beginString); MsgSeqNum msgSeqNum; MsgType msgType; message.getHeader().getField(msgType); message.getHeader().getField(msgSeqNum); if (beginString != FIX::BeginString_FIX41) { // Changed by Bernard on 5/10/02. reject.setField(RefMsgType(msgType)); reject.setField(SessionRejectReason(err)); } reject.setField(RefSeqNum(msgSeqNum)); if( msgType != "A" && msgType != "4") m_pStore->incrNextTargetMsgSeqNum(); switch( err ) { case 0: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Invalid tag number")); break; case 1: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Required tag missing")); break; case 2: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Tag not defined for this message type")); break; case 4: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Tag specified without a value")); break; case 5: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField (Text("Value is incorrect (out of range) for this tag")); break; case 6: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Incorrect data format for value")); break; case 9: reject.setField(Text("CompID problem")); break; case 10: reject.setField(Text("SendingTime accuracy problem")); break; case 11: reject.setField(Text("Invalid MsgType")); break; }; sendRaw(reject); } void Session::generateReject( const Message& message, const std::string& str ) { Message reject; reject.getHeader().setField(MsgType("3")); fill( reject.getHeader() ); FIX::BeginString beginString; // Changed by Bernard on 5/10/02. message.getHeader().getField(beginString); MsgType msgType; MsgSeqNum msgSeqNum; message.getHeader().getField(msgType); message.getHeader().getField(msgSeqNum); if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefMsgType(msgType)); reject.setField(RefSeqNum(msgSeqNum)); if( msgType != "A" && msgType != "4") m_pStore->incrNextTargetMsgSeqNum(); reject.setField(Text(str)); sendRaw(reject); } ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Bernard S. <bsp...@gx...> - 2002-05-10 15:28:54
|
If anyone is using QuickFIX for a 4.1 session, following are the changes I made to Session.cpp to suppress the RefMsgType, RefTagID and SessionRejectReason tags in the Reject Message. Before this change, a reject message caused each side to continue to exchange infinite reject messages. This seems to take care of the problem. - Bernard ---------------------------------------------------------------------------- ---- void Session::generateReject( const Message& message, int err, int field ) { Message reject; reject.getHeader().setField(MsgType("3")); fill( reject.getHeader() ); FIX::BeginString beginString; // Changed by Bernard on 5/10/02. message.getHeader().getField(beginString); MsgSeqNum msgSeqNum; MsgType msgType; message.getHeader().getField(msgType); message.getHeader().getField(msgSeqNum); if (beginString != FIX::BeginString_FIX41) { // Changed by Bernard on 5/10/02. reject.setField(RefMsgType(msgType)); reject.setField(SessionRejectReason(err)); } reject.setField(RefSeqNum(msgSeqNum)); if( msgType != "A" && msgType != "4") m_pStore->incrNextTargetMsgSeqNum(); switch( err ) { case 0: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Invalid tag number")); break; case 1: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Required tag missing")); break; case 2: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Tag not defined for this message type")); break; case 4: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Tag specified without a value")); break; case 5: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField (Text("Value is incorrect (out of range) for this tag")); break; case 6: if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefTagID(field)); reject.setField(Text("Incorrect data format for value")); break; case 9: reject.setField(Text("CompID problem")); break; case 10: reject.setField(Text("SendingTime accuracy problem")); break; case 11: reject.setField(Text("Invalid MsgType")); break; }; sendRaw(reject); } void Session::generateReject( const Message& message, const std::string& str ) { Message reject; reject.getHeader().setField(MsgType("3")); fill( reject.getHeader() ); FIX::BeginString beginString; // Changed by Bernard on 5/10/02. message.getHeader().getField(beginString); MsgType msgType; MsgSeqNum msgSeqNum; message.getHeader().getField(msgType); message.getHeader().getField(msgSeqNum); if (beginString != FIX::BeginString_FIX41) // Changed by Bernard on 5/10/02. reject.setField(RefMsgType(msgType)); reject.setField(RefSeqNum(msgSeqNum)); if( msgType != "A" && msgType != "4") m_pStore->incrNextTargetMsgSeqNum(); reject.setField(Text(str)); sendRaw(reject); } ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 |
From: Bernard S. <bsp...@gx...> - 2002-05-09 21:32:19
|
Folks, Just FYI, my FIX client sends an invalid tag number (7850), and the server responds with a reject message which includes the following: 58=Invalid tag number371=7850372=D373=010=196 This session is a FIX 4.1 session. If I understand everything correctly, tags 371, 372 and 373 were not introduced until FIX 4.2. This causes the client to respond with an invalid tag number 371, which causes my server to do the same, and before long, the log files are filled with thousands of reject messages from both applications. - Bernard -----Original Message----- From: qui...@li... [mailto:qui...@li...]On Behalf Of OM...@th... Sent: Thursday, May 09, 2002 2:45 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts Bernard, It looks like your problems stem from your StartTime and EndTime range. For some reason QuickFIX is having problems with the range you specified 00:00:03 - 23:59:59. I will look into why this is but there is a work-around for you. If you just set the StartTime and the EndTime both to 00:00:00, you should see QuickFIX behave as you expect. When you set the StartTime and EndTime to be the same, QuickFIX treats your sessions as 24 hours, so I think this is the behavior you really want. Please let us know if this solves your problem. --Oren Miller, ThoughtWorks |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 11:23 AM | | | | |---------+-----------------------------------------------> >--------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: <OM...@th...> | | Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts | >--------------------------------------------------------------------------- -------------------| In response to Oren's request, here are the config files. I have attached them, but I have also included the text in this mail. Thanks. Client Config -------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 [SESSION] BeginString=FIX.4.1 SenderCompID=CLIENT TargetCompID=SERVER ConnectionType=initiator SocketConnectPort=13003 SocketConnectHost=10.101.25.31 DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:03 EndTime=23:59:59 Server Config ------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 SocketAcceptPort=13003 [SESSION] BeginString=FIX.4.1 SenderCompID=SERVER TargetCompID=CLIENT ConnectionType=acceptor DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:02 EndTime=23:59:59 -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 12:13 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: Re: [Quickfix-developers] Question about HeartBeats and Logouts Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> > --------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | > --------------------------------------------------------------------------- -------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers (See attached file: FixClientConfig.txt)(See attached file: FixServerConfig.txt) |
From: Bernard S. <bsp...@gx...> - 2002-05-09 19:37:17
|
Oren, Yup, once I set the StartTime and EndTime to 00:00:00, everything starts to work exactly as I expected. This would have been about the last place I would have thought to look. Thank you very much! - Bernard -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 2:45 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts Bernard, It looks like your problems stem from your StartTime and EndTime range. For some reason QuickFIX is having problems with the range you specified 00:00:03 - 23:59:59. I will look into why this is but there is a work-around for you. If you just set the StartTime and the EndTime both to 00:00:00, you should see QuickFIX behave as you expect. When you set the StartTime and EndTime to be the same, QuickFIX treats your sessions as 24 hours, so I think this is the behavior you really want. Please let us know if this solves your problem. --Oren Miller, ThoughtWorks |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 11:23 AM | | | | |---------+-----------------------------------------------> >--------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: <OM...@th...> | | Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts | >--------------------------------------------------------------------------- -------------------| In response to Oren's request, here are the config files. I have attached them, but I have also included the text in this mail. Thanks. Client Config -------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 [SESSION] BeginString=FIX.4.1 SenderCompID=CLIENT TargetCompID=SERVER ConnectionType=initiator SocketConnectPort=13003 SocketConnectHost=10.101.25.31 DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:03 EndTime=23:59:59 Server Config ------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 SocketAcceptPort=13003 [SESSION] BeginString=FIX.4.1 SenderCompID=SERVER TargetCompID=CLIENT ConnectionType=acceptor DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:02 EndTime=23:59:59 -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 12:13 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: Re: [Quickfix-developers] Question about HeartBeats and Logouts Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> > --------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | > --------------------------------------------------------------------------- -------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers (See attached file: FixClientConfig.txt)(See attached file: FixServerConfig.txt) |
From: <OM...@th...> - 2002-05-09 18:47:25
|
Bernard, It looks like your problems stem from your StartTime and EndTime range. For some reason QuickFIX is having problems with the range you specified 00:00:03 - 23:59:59. I will look into why this is but there is a work-around for you. If you just set the StartTime and the EndTime both to 00:00:00, you should see QuickFIX behave as you expect. When you set the StartTime and EndTime to be the same, QuickFIX treats your sessions as 24 hours, so I think this is the behavior you really want. Please let us know if this solves your problem. --Oren Miller, ThoughtWorks |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 11:23 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: <OM...@th...> | | Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts | >----------------------------------------------------------------------------------------------| In response to Oren's request, here are the config files. I have attached them, but I have also included the text in this mail. Thanks. Client Config -------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 [SESSION] BeginString=FIX.4.1 SenderCompID=CLIENT TargetCompID=SERVER ConnectionType=initiator SocketConnectPort=13003 SocketConnectHost=10.101.25.31 DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:03 EndTime=23:59:59 Server Config ------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 SocketAcceptPort=13003 [SESSION] BeginString=FIX.4.1 SenderCompID=SERVER TargetCompID=CLIENT ConnectionType=acceptor DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:02 EndTime=23:59:59 -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 12:13 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: Re: [Quickfix-developers] Question about HeartBeats and Logouts Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> > --------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | > --------------------------------------------------------------------------- -------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers (See attached file: FixClientConfig.txt)(See attached file: FixServerConfig.txt) |
From: <OM...@th...> - 2002-05-09 16:44:59
|
One more thing. What version of QuickFIX are you building and on what platform? --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 11:23 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: <OM...@th...> | | Subject: RE: [Quickfix-developers] Question about HeartBeats and Logouts | >----------------------------------------------------------------------------------------------| In response to Oren's request, here are the config files. I have attached them, but I have also included the text in this mail. Thanks. Client Config -------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 [SESSION] BeginString=FIX.4.1 SenderCompID=CLIENT TargetCompID=SERVER ConnectionType=initiator SocketConnectPort=13003 SocketConnectHost=10.101.25.31 DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:03 EndTime=23:59:59 Server Config ------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 SocketAcceptPort=13003 [SESSION] BeginString=FIX.4.1 SenderCompID=SERVER TargetCompID=CLIENT ConnectionType=acceptor DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:02 EndTime=23:59:59 -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 12:13 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: Re: [Quickfix-developers] Question about HeartBeats and Logouts Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> > --------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | > --------------------------------------------------------------------------- -------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers (See attached file: FixClientConfig.txt)(See attached file: FixServerConfig.txt) |
From: Bernard S. <bsp...@gx...> - 2002-05-09 16:23:55
|
In response to Oren's request, here are the config files. I have attached them, but I have also included the text in this mail. Thanks. Client Config -------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 [SESSION] BeginString=FIX.4.1 SenderCompID=CLIENT TargetCompID=SERVER ConnectionType=initiator SocketConnectPort=13003 SocketConnectHost=10.101.25.31 DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:03 EndTime=23:59:59 Server Config ------------- [DEFAULT] ReconnectInterval=20 HeartBtInt=30 SocketAcceptPort=13003 [SESSION] BeginString=FIX.4.1 SenderCompID=SERVER TargetCompID=CLIENT ConnectionType=acceptor DataDictionary=C:/FIX/spec/FIX41.xml FileStorePath=C:/FIX/log StartTime=00:00:02 EndTime=23:59:59 -----Original Message----- From: OM...@th... [mailto:OM...@th...] Sent: Thursday, May 09, 2002 12:13 PM To: bsp...@gx... Cc: qui...@li...; qui...@li... Subject: Re: [Quickfix-developers] Question about HeartBeats and Logouts Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> >--------------------------------------------------------------------------- -------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | >--------------------------------------------------------------------------- -------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: <OM...@th...> - 2002-05-09 16:15:06
|
Can you post your configuration files for your initiator and your acceptor. I have some theories but it would help to see these. --oren |---------+-----------------------------------------------> | | "Bernard Spanger" | | | <bsp...@gx...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 05/09/2002 10:56 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] Question about HeartBeats and Logouts | >----------------------------------------------------------------------------------------------| Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Bernard S. <bsp...@gx...> - 2002-05-09 15:56:23
|
Folks, I am experimenting with QuickFix, and I have a couple of questions. I have created a CLIENT (initiator) and a SERVER (acceptor) which both run on the same machine. Each is a simple application that does nothing other than display a message when each of the Application member functions is called. Basically, all they do is instantiate an initiator (or acceptor) with the appropriate parameters, and start it. The onRun() just sleeps in an infinite loop. ReconnectInterval is 20, and HeartBeatInterval is 30 for both. I expect to see onCreate() called on both applications, which I do. Next, I expect to see onLogon() called for both, which I eventually do. After that, I guess I expect to see an exchange of heartbeats and nothing else. Instead, after about 30 seconds, onLogout() is called on both CLIENT and SERVER, followed by repeated calls to onLogon() and onLogout(). Looking at the message log, I see repeated logon messages, occasionally a resend request, and very rarely a heartbeat message. My questions are as follows: 1) Am I expecting the right thing? 2) Does the Engine handle heartbeats, or does my application have to generate heartbeats itself? 3) I delete files in the log directory each time before I restart. Why does onLogon() sometimes get called immediately, and sometimes take 20 seconds or so to get called? 4) Why does onLogout() get called at all? Shouldn't the session remain logged in indefinitely? 5) Why do the .message log files in my log directory periodically get wiped clean (size goes to 0). I'd appreciate any help or insight. Thanks. ------------------------------------------ Bernard Spanger bsp...@gx... G. X. Clarke & Co. 10 Exchange Place Jersey City, NJ 07302 201-200-3607 |
From: <OM...@th...> - 2002-05-03 20:10:49
|
Yeah. The reason you have overlapping text is because there are two threads which arn't synchronized. It's not really dangerous though because they arn't accessing any of the same resources except the CRT. But basically what you are seeing in the OUT is the order being sent to the ordermatcher. The IN message is the acknowledgment that the order is received. If you put in an order on the opposite side (sell) then the order will get executed. The tradeclient application is very bare bones and really just shows you the raw FIX messages. If you build the jni library and the java API to quickfix, you can use the GUI version which is much nicer (if you are using windows). --oren <to...@pi...> Sent by: To: <OM...@th...> qui...@li...ur cc: <qui...@li...>, ceforge.net <qui...@li...> Subject: Re: [Quickfix-developers] Getting Started 05/03/02 02:49 PM Oren, Here is what is happening when I try things out: I first start ordermatch. Then I run the client and I see order match spits on the FIX logon messages: Logon - BeginString: FIX.4.2, SenderCompID: TW, TargetCompID: CLIENT1 Logon - BeginString: FIX.4.2, SenderCompID: TW, TargetCompID: CLIENT2 I the uses the tradeclient app to enter a trade.... 1) Enter Order 3) FIX.4.2 1) Market 1) Buy ClOrdID: 0000 <--- I just made thsi up... 1) Day SenderCompID: CLIENT1 TargetCompID: TW Use a TargetSubID? n Send Order?: y OUT: 8=FIX.4.2?9=112?35=D?34=38?49=CLIENT1?52=20020503-19:47:34?56=TW?11=0000?21 =1?38=100?40=1?54=2?55=IBM?59=0?60=20020503-19:43:10?10=152? 1 IN: 8=FIX.4.2?9=140?35=8?34=38?49=TW?52=20020503-19:47:34?56=) Enter Order 2) Cancel Order 3) Replace Order ActioCLIENT1?6=0?11=0000?14=0?17=1?20=0?37=0000?39=8?54=2?n: 55=IBM?58=Could not convert field?150=8?151=0?10=160? Is this ok? Am I good to go? Thanks Tony Leotta http://www.pillarsoftware.com/ ----- Original Message ----- From: <OM...@th...> To: <to...@pi...> Cc: <qui...@li...>; <qui...@li...> Sent: Friday, May 03, 2002 3:35 PM Subject: Re: [Quickfix-developers] Getting Started > > Tony. > > You are in luck. QuickFIX comes with an application that does just that. > It is actually a fully functional ordermatcher so you can create all these > situations. Once you follow the installation/build instructions for > QuickFIX, you just need to build the ordermatch project under the examples > directory. > > --Oren Miller, ThoughtWorks > > > > > <to...@pi...> > Sent by: To: <qui...@li...> > qui...@li...ur cc: > ceforge.net Subject: [Quickfix-developers] Getting Started > > > 05/03/02 01:57 PM > > > > > > > I can't figure out how to get started... > > Basically here is what I need to do: > > I need to create a simulator process that a FIX Server can connect to. > This simulator will buy/sell, partial fills, cancel accept, cancel rejects > etc. > > Do I even have to write such a program or does such a thing already exist? > > > _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: ban...@so... _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: <to...@pi...> - 2002-05-03 19:44:38
|
Oren, Here is what is happening when I try things out: I first start ordermatch. Then I run the client and I see order match spits on the FIX logon messages: Logon - BeginString: FIX.4.2, SenderCompID: TW, TargetCompID: CLIENT1 Logon - BeginString: FIX.4.2, SenderCompID: TW, TargetCompID: CLIENT2 I the uses the tradeclient app to enter a trade.... 1) Enter Order 3) FIX.4.2 1) Market 1) Buy ClOrdID: 0000 <--- I just made thsi up... 1) Day SenderCompID: CLIENT1 TargetCompID: TW Use a TargetSubID? n Send Order?: y OUT: 8=FIX.4.2?9=112?35=D?34=38?49=CLIENT1?52=20020503-19:47:34?56=TW?11=0000?21 =1?38=100?40=1?54=2?55=IBM?59=0?60=20020503-19:43:10?10=152? 1 IN: 8=FIX.4.2?9=140?35=8?34=38?49=TW?52=20020503-19:47:34?56=) Enter Order 2) Cancel Order 3) Replace Order ActioCLIENT1?6=0?11=0000?14=0?17=1?20=0?37=0000?39=8?54=2?n: 55=IBM?58=Could not convert field?150=8?151=0?10=160? Is this ok? Am I good to go? Thanks Tony Leotta http://www.pillarsoftware.com/ ----- Original Message ----- From: <OM...@th...> To: <to...@pi...> Cc: <qui...@li...>; <qui...@li...> Sent: Friday, May 03, 2002 3:35 PM Subject: Re: [Quickfix-developers] Getting Started > > Tony. > > You are in luck. QuickFIX comes with an application that does just that. > It is actually a fully functional ordermatcher so you can create all these > situations. Once you follow the installation/build instructions for > QuickFIX, you just need to build the ordermatch project under the examples > directory. > > --Oren Miller, ThoughtWorks > > > > > <to...@pi...> > Sent by: To: <qui...@li...> > qui...@li...ur cc: > ceforge.net Subject: [Quickfix-developers] Getting Started > > > 05/03/02 01:57 PM > > > > > > > I can't figure out how to get started... > > Basically here is what I need to do: > > I need to create a simulator process that a FIX Server can connect to. > This simulator will buy/sell, partial fills, cancel accept, cancel rejects > etc. > > Do I even have to write such a program or does such a thing already exist? > > > |
From: <OM...@th...> - 2002-05-03 19:37:11
|
Tony. You are in luck. QuickFIX comes with an application that does just that. It is actually a fully functional ordermatcher so you can create all these situations. Once you follow the installation/build instructions for QuickFIX, you just need to build the ordermatch project under the examples directory. --Oren Miller, ThoughtWorks <to...@pi...> Sent by: To: <qui...@li...> qui...@li...ur cc: ceforge.net Subject: [Quickfix-developers] Getting Started 05/03/02 01:57 PM I can't figure out how to get started... Basically here is what I need to do: I need to create a simulator process that a FIX Server can connect to. This simulator will buy/sell, partial fills, cancel accept, cancel rejects etc. Do I even have to write such a program or does such a thing already exist? |
From: <to...@pi...> - 2002-05-03 18:53:04
|
I can't figure out how to get started... Basically here is what I need to do: I need to create a simulator process that a FIX Server can connect to. This simulator will buy/sell, partial fills, cancel accept, cancel = rejects etc. Do I even have to write such a program or does such a thing already = exist? |
From: <OM...@th...> - 2002-04-22 18:55:16
|
Ok, here is what I found. libxml2 comes with an m4 macro called libxml.m4. This file has a macro called AM_PATH_XML2. I added the following line to my configure.in AM_PATH_XML2(2.0.0, , AC_MESSAGE_ERROR(libxml2 must be installed.)) This will verify that libxml is installed and also set some variables for you like $XML_LIBS and $XML_CFLAGS. These can be added your LIBS, CXXFLAGS and CFLAGS variables. autoconf determines these by running the xml2-config script whent he configure scripts is run. Since the libxml web page strongly recommends only using libxml2, I think it makes sense to make this version required for future versions of QuickFIX. They state that libxml1 should only be used if another library forces you to link it in. I don't think QuickFIX should be one of those annoying libraries. --oren |---------+-----------------------------------------------> | | "Ahmad M. Zawawi" <az...@qt...>| | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 04/20/02 07:40 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] RE: Solaris Installation Steps? | >----------------------------------------------------------------------------------------------| Hi Guys, Just wanted to share with you my notes on installing QuickFIX on Solaris 8. Here is what i had to do to get it working on my Sun Box... I noticed that ./configure is not checking for libxml2, and this simply makes the process harder. Any recommendations? The setup machine is: SunOS ZEW 5.8 Generic_108528-03 sun4u sparc SUNW,Ultra-5_10 gcc --version => 2.95.3 g++ --version => 2.95.3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The stuff that was installed beforehand: gcc-2.95.3-sol8-sparc-local.gz (from sunfreeware.com) The stuff i needed to download/install: _ lxml2-2.4.20-sol8-sparc-local.gz (from libxml.org solaris binaries) _ ruby-1.6.7-sol8-sparc-local.gz (from sunfreeware.com) _ rubyunit-0.5.4-02.tar.gz -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- pre-install: # to make configure script know where is lex % export PATH=$PATH:/usr/ccs/bin # add % gunzip lxml2-2.4.20-sol8-sparc-local.gz % pkgadd -d lxml2-2.4.20-sol8-sparc-local # check libxml configuration % xml2-config --libs -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib -lxml2 -lz -lpthread -lm -lsocket -lnsl % xml2-config --cflags -I/usr/local/libxml/include/libxml2 # for ruby and ruby unit... % gunzip ruby-1.6.7-sol8-sparc-local.gz % pkgadd -d ruby-1.6.7-sol8-sparc-local % gunzip rubyunit-0.5.4-02.tar.gz % tar xfv rubyunit-0.5.4-02.tar % cd rubyunit-0.5.4-02 % ruby install.rb # seems like it was installed with gcc/g++ package % find /usr -name sstream* & /usr/local/include/g++-3/sstream -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ -I/usr/local/libxml/include/libxml2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/C++/Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ 89c89 < INCLUDES = -I. -I.. -I../.. -I../../.. --- > INCLUDES = -I/usr/local/libxml/include/libxml2 -I. -I.. -I../.. -I../../.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/Makefile.in in quickfix and modified.quickfix 94,97c94,97 < at_server_LDADD = C++/libquickfix.la -lxml -lpthread < at_client_LDADD = C++/libquickfix.la -lxml -lpthread < ut_LDADD = C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml -lpthread < pt_LDADD = C++/libquickfix.la -lxml -lpthread --- > at_server_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > at_client_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > ut_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml2 -lpthread > pt_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E N D O F E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # and finally ... % ./configure; make; make install # interesting stats with make on a Ultra10 440 MHz 512 MB machine: % time make --silent real 8m37.626s user 7m27.260s sys 0m42.570s -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Testing: # run ruby tests! % cd test % ./check.sh ......................................................................................................... 105 out of 105 tests passing (100%) Created Session - BeginString: FIX.4.2, SenderCompID: ISLD, TargetCompID: TW <at> <test name='definitions/server/10_MsgSeqNumEqual.def' result='success'/> <test name='definitions/server/10_MsgSeqNumGreater.def' result ='success'/> <test name='definitions/server/10_MsgSeqNumLess.def' result='success'/> <test name='definitions/server/11a_NewSeqNoGreater.def' result ='success'/> <test name='definitions/server/11b_NewSeqNoEqual.def' result='success'/> <test name='definitions/server/11c_NewSeqNoLess.def' result='success'/> <test name='definitions/server/13b_UnsolicitedLogoutMessage.def' result ='success'/> <test name='definitions/server/14a_BadField.def' result='success'/> <test name='definitions/server/14b_RequiredFieldMissing.def' result ='success'/> <test name='definitions/server/14c_TagNotDefinedForMsgType.def' result ='success'/> <test name='definitions/server/14d_TagSpecifiedWithoutValue.def' result ='success'/> <test name='definitions/server/14e_IncorrectEnumValue.def' result ='success'/> <test name='definitions/server/14f_IncorrectDataFormat.def' result ='success'/> <test name='definitions/server/14g_HeaderBodyTrailerFieldsOutOfOrder.def' result='success'/> <test name ='definitions/server/15_HeaderAndBodyFieldsOrderedDifferently.def' result ='success'/> <test name ='definitions/server/19a_PossResendMessageThatHAsAlreadyBeenSent.def' result='success'/> <test name ='definitions/server/19b_PossResendMessageThatHasNotBeenSent.def' result ='success'/> <test name='definitions/server/1a_ValidLogonMsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/1a_ValidLogonWithCorrectMsgSeqNum.def' result='success'/> <test name='definitions/server/1b_DuplicateIdentity.def' result ='success'/> <test name='definitions/server/1c_InvalidSenderCompID.def' result ='success'/> <test name='definitions/server/1c_InvalidTargetCompID.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonLengthInvalid.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonWrongBeginString.def' result='success'/> <test name='definitions/server/1e_NotLogonMessage.def' result='success'/> <test name='definitions/server/20_SimultaneousResendRequest.def' result ='success'/> <test name='definitions/server/2a_MsgSeqNumCorrect.def' result ='success'/> <test name='definitions/server/2b_MsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/2c_MsgSeqNumTooLow.def' result='success'/> <test name='definitions/server/2d_GarbledMessage.def' result='success'/> <test name='definitions/server/2e_PossDupAlreadyReceived.def' result ='success'/> <test name='definitions/server/2e_PossDupNotReceived.def' result ='success'/> <test name='definitions/server/2f_PossDupOrigSendingTimeTooHigh.def' result='success'/> <test name='definitions/server/2g_PossDupNoOrigSendingTime.def' result ='success'/> <test name='definitions/server/2i_BeginStringValueUnexpected.def' result ='success'/> <test name='definitions/server/2k_CompIDDoesNotMatchProfile.def' result ='success'/> <test name='definitions/server/2m_BodyLengthValueNotCorrect.def' result ='success'/> <test name='definitions/server/2o_SendingTimeValueOutOfRange.def' result ='success'/> <test name='definitions/server/2q_MsgTypeNotValid.def' result='success'/> <test name='definitions/server/2r_UnregisteredMsgType.def' result ='success'/> <test name='definitions/server/2t_FirstThreeFieldsOutOfOrder.def' result ='success'/> <test name='definitions/server/3b_InvalidChecksum.def' result='success'/> <test name='definitions/server/3c_GarbledMessage.def' result='success'/> <test name='definitions/server/4a_NoDataSentDuringHeartBtInt.def' result ='success'/> <test name='definitions/server/4b_ReceivedTestRequest.def' result ='success'/> <test name='definitions/server/6_SendTestRequest.def' result='success'/> <test name='definitions/server/7_ReceiveRejectMessage.def' result ='success'/> <test name='definitions/server/8_AdminAndApplicationMessages.def' result ='success'/> <test name='definitions/server/8_OnlyAdminMessages.def' result ='success'/> <test name='definitions/server/8_OnlyApplicationMessages.def' result ='success'/> /have fun! ahmad m. zawawi |
From: HyunKyu H. <ha...@ho...> - 2002-04-22 16:00:05
|
Hello, again. Thanks for your reply. RedHat 7.2 has been installed with zlib.but it's necessary for puttinglibrary option such as -lz into the Makefile. I didn't see fully your document. Sorry. Here's another question for Quickfix. For understanding Quickfix or FIX I tried to run ordermatch and tradeclient examples in examples directory,but I has illegal instruction message in ordermatch application,when I was on "Send order ?" in the tradeclient. I just put 'Y' for the question. but sometimes I got same messages,when the tradeclient was logging into ordermatch server. I'm not sure whether I'm wrong or not. What does the illegal instruction message mean ? I'm sorry. I'm not good at programming and C++. but I'm studying C++ class!!! Thanks, HK Han _________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com |
From: <OM...@th...> - 2002-04-22 15:47:34
|
Thanks Ahmad, I'm installing libxml2 on our Solaris box and will try to write an autoconf macro to detect its precence (unless you have already done this, have you?) This is also good to add to the FAQ. --Oren Miller, ThoughtWorks |---------+-----------------------------------------------> | | "Ahmad M. Zawawi" <az...@qt...>| | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 04/20/02 07:40 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] RE: Solaris Installation Steps? | >----------------------------------------------------------------------------------------------| Hi Guys, Just wanted to share with you my notes on installing QuickFIX on Solaris 8. Here is what i had to do to get it working on my Sun Box... I noticed that ./configure is not checking for libxml2, and this simply makes the process harder. Any recommendations? The setup machine is: SunOS ZEW 5.8 Generic_108528-03 sun4u sparc SUNW,Ultra-5_10 gcc --version => 2.95.3 g++ --version => 2.95.3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The stuff that was installed beforehand: gcc-2.95.3-sol8-sparc-local.gz (from sunfreeware.com) The stuff i needed to download/install: _ lxml2-2.4.20-sol8-sparc-local.gz (from libxml.org solaris binaries) _ ruby-1.6.7-sol8-sparc-local.gz (from sunfreeware.com) _ rubyunit-0.5.4-02.tar.gz -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- pre-install: # to make configure script know where is lex % export PATH=$PATH:/usr/ccs/bin # add % gunzip lxml2-2.4.20-sol8-sparc-local.gz % pkgadd -d lxml2-2.4.20-sol8-sparc-local # check libxml configuration % xml2-config --libs -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib -lxml2 -lz -lpthread -lm -lsocket -lnsl % xml2-config --cflags -I/usr/local/libxml/include/libxml2 # for ruby and ruby unit... % gunzip ruby-1.6.7-sol8-sparc-local.gz % pkgadd -d ruby-1.6.7-sol8-sparc-local % gunzip rubyunit-0.5.4-02.tar.gz % tar xfv rubyunit-0.5.4-02.tar % cd rubyunit-0.5.4-02 % ruby install.rb # seems like it was installed with gcc/g++ package % find /usr -name sstream* & /usr/local/include/g++-3/sstream -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ -I/usr/local/libxml/include/libxml2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/C++/Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ 89c89 < INCLUDES = -I. -I.. -I../.. -I../../.. --- > INCLUDES = -I/usr/local/libxml/include/libxml2 -I. -I.. -I../.. -I../../.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/Makefile.in in quickfix and modified.quickfix 94,97c94,97 < at_server_LDADD = C++/libquickfix.la -lxml -lpthread < at_client_LDADD = C++/libquickfix.la -lxml -lpthread < ut_LDADD = C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml -lpthread < pt_LDADD = C++/libquickfix.la -lxml -lpthread --- > at_server_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > at_client_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > ut_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml2 -lpthread > pt_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E N D O F E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # and finally ... % ./configure; make; make install # interesting stats with make on a Ultra10 440 MHz 512 MB machine: % time make --silent real 8m37.626s user 7m27.260s sys 0m42.570s -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Testing: # run ruby tests! % cd test % ./check.sh ......................................................................................................... 105 out of 105 tests passing (100%) Created Session - BeginString: FIX.4.2, SenderCompID: ISLD, TargetCompID: TW <at> <test name='definitions/server/10_MsgSeqNumEqual.def' result='success'/> <test name='definitions/server/10_MsgSeqNumGreater.def' result ='success'/> <test name='definitions/server/10_MsgSeqNumLess.def' result='success'/> <test name='definitions/server/11a_NewSeqNoGreater.def' result ='success'/> <test name='definitions/server/11b_NewSeqNoEqual.def' result='success'/> <test name='definitions/server/11c_NewSeqNoLess.def' result='success'/> <test name='definitions/server/13b_UnsolicitedLogoutMessage.def' result ='success'/> <test name='definitions/server/14a_BadField.def' result='success'/> <test name='definitions/server/14b_RequiredFieldMissing.def' result ='success'/> <test name='definitions/server/14c_TagNotDefinedForMsgType.def' result ='success'/> <test name='definitions/server/14d_TagSpecifiedWithoutValue.def' result ='success'/> <test name='definitions/server/14e_IncorrectEnumValue.def' result ='success'/> <test name='definitions/server/14f_IncorrectDataFormat.def' result ='success'/> <test name='definitions/server/14g_HeaderBodyTrailerFieldsOutOfOrder.def' result='success'/> <test name ='definitions/server/15_HeaderAndBodyFieldsOrderedDifferently.def' result ='success'/> <test name ='definitions/server/19a_PossResendMessageThatHAsAlreadyBeenSent.def' result='success'/> <test name ='definitions/server/19b_PossResendMessageThatHasNotBeenSent.def' result ='success'/> <test name='definitions/server/1a_ValidLogonMsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/1a_ValidLogonWithCorrectMsgSeqNum.def' result='success'/> <test name='definitions/server/1b_DuplicateIdentity.def' result ='success'/> <test name='definitions/server/1c_InvalidSenderCompID.def' result ='success'/> <test name='definitions/server/1c_InvalidTargetCompID.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonLengthInvalid.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonWrongBeginString.def' result='success'/> <test name='definitions/server/1e_NotLogonMessage.def' result='success'/> <test name='definitions/server/20_SimultaneousResendRequest.def' result ='success'/> <test name='definitions/server/2a_MsgSeqNumCorrect.def' result ='success'/> <test name='definitions/server/2b_MsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/2c_MsgSeqNumTooLow.def' result='success'/> <test name='definitions/server/2d_GarbledMessage.def' result='success'/> <test name='definitions/server/2e_PossDupAlreadyReceived.def' result ='success'/> <test name='definitions/server/2e_PossDupNotReceived.def' result ='success'/> <test name='definitions/server/2f_PossDupOrigSendingTimeTooHigh.def' result='success'/> <test name='definitions/server/2g_PossDupNoOrigSendingTime.def' result ='success'/> <test name='definitions/server/2i_BeginStringValueUnexpected.def' result ='success'/> <test name='definitions/server/2k_CompIDDoesNotMatchProfile.def' result ='success'/> <test name='definitions/server/2m_BodyLengthValueNotCorrect.def' result ='success'/> <test name='definitions/server/2o_SendingTimeValueOutOfRange.def' result ='success'/> <test name='definitions/server/2q_MsgTypeNotValid.def' result='success'/> <test name='definitions/server/2r_UnregisteredMsgType.def' result ='success'/> <test name='definitions/server/2t_FirstThreeFieldsOutOfOrder.def' result ='success'/> <test name='definitions/server/3b_InvalidChecksum.def' result='success'/> <test name='definitions/server/3c_GarbledMessage.def' result='success'/> <test name='definitions/server/4a_NoDataSentDuringHeartBtInt.def' result ='success'/> <test name='definitions/server/4b_ReceivedTestRequest.def' result ='success'/> <test name='definitions/server/6_SendTestRequest.def' result='success'/> <test name='definitions/server/7_ReceiveRejectMessage.def' result ='success'/> <test name='definitions/server/8_AdminAndApplicationMessages.def' result ='success'/> <test name='definitions/server/8_OnlyAdminMessages.def' result ='success'/> <test name='definitions/server/8_OnlyApplicationMessages.def' result ='success'/> /have fun! ahmad m. zawawi |
From: Ahmad M. Z. <az...@qt...> - 2002-04-20 12:40:37
|
Hi Guys, Just wanted to share with you my notes on installing QuickFIX on Solaris = 8. Here is what i had to do to get it working on my Sun Box... I noticed that ./configure is not checking for libxml2, and this simply = makes the process harder.=20 Any recommendations? The setup machine is: SunOS ZEW 5.8 Generic_108528-03 sun4u sparc SUNW,Ultra-5_10 gcc --version =3D> 2.95.3 g++ --version =3D> 2.95.3 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- The stuff that was installed beforehand: gcc-2.95.3-sol8-sparc-local.gz (from sunfreeware.com) =20 The stuff i needed to download/install: _ lxml2-2.4.20-sol8-sparc-local.gz (from libxml.org solaris binaries) _ ruby-1.6.7-sol8-sparc-local.gz (from sunfreeware.com) _ rubyunit-0.5.4-02.tar.gz =20 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- pre-install: # to make configure script know where is lex % export PATH=3D$PATH:/usr/ccs/bin # add=20 % gunzip lxml2-2.4.20-sol8-sparc-local.gz % pkgadd -d lxml2-2.4.20-sol8-sparc-local # check libxml configuration % xml2-config --libs -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib -lxml2 -lz = -lpthread -lm -lsocket -lnsl % xml2-config --cflags -I/usr/local/libxml/include/libxml2 # for ruby and ruby unit... % gunzip ruby-1.6.7-sol8-sparc-local.gz % pkgadd -d ruby-1.6.7-sol8-sparc-local % gunzip rubyunit-0.5.4-02.tar.gz % tar xfv rubyunit-0.5.4-02.tar % cd rubyunit-0.5.4-02 % ruby install.rb # seems like it was installed with gcc/g++ package % find /usr -name sstream* & /usr/local/include/g++-3/sstream -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- E D I T E D S T U F F -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- Apr 20 15:31 2002 diff of ./Makefile.in in quickfix and = modified.quickfix=20 64c64 < CFLAGS =3D @CFLAGS@ --- > CFLAGS =3D @CFLAGS@ -I/usr/local/libxml/include/libxml2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- Apr 20 15:31 2002 diff of ./src/C++/Makefile.in in quickfix and = modified.quickfix=20 64c64 < CFLAGS =3D @CFLAGS@ --- > CFLAGS =3D @CFLAGS@ 89c89 < INCLUDES =3D -I. -I.. -I../.. -I../../.. --- > INCLUDES =3D -I/usr/local/libxml/include/libxml2 -I. -I.. -I../.. = -I../../.. -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- Apr 20 15:31 2002 diff of ./src/Makefile.in in quickfix and = modified.quickfix 94,97c94,97 < at_server_LDADD =3D C++/libquickfix.la -lxml -lpthread < at_client_LDADD =3D C++/libquickfix.la -lxml -lpthread < ut_LDADD =3D C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml = -lpthread < pt_LDADD =3D C++/libquickfix.la -lxml -lpthread --- > at_server_LDADD =3D -L/usr/local/libxml/sparc/lib = -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > at_client_LDADD =3D -L/usr/local/libxml/sparc/lib = -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > ut_LDADD =3D -L/usr/local/libxml/sparc/lib = -R/usr/local/libxml/sparc/lib C++/test/libquickfixcpptest.la = C++/libquickfix.la -lxml2 -lpthread > pt_LDADD =3D -L/usr/local/libxml/sparc/lib = -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- E N D O F E D I T E D S T U F F -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- # and finally ... % ./configure; make; make install # interesting stats with make on a Ultra10 440 MHz 512 MB machine: % time make --silent real 8m37.626s user 7m27.260s sys 0m42.570s -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-= =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D= -=3D-=3D- Testing: # run ruby tests! % cd test % ./check.sh .........................................................................= ................................ 105 out of 105 tests passing (100%) Created Session - BeginString: FIX.4.2, SenderCompID: ISLD, = TargetCompID: TW <at> <test name=3D'definitions/server/10_MsgSeqNumEqual.def' = result=3D'success'/> <test name=3D'definitions/server/10_MsgSeqNumGreater.def' = result=3D'success'/> <test name=3D'definitions/server/10_MsgSeqNumLess.def' = result=3D'success'/> <test name=3D'definitions/server/11a_NewSeqNoGreater.def' = result=3D'success'/> <test name=3D'definitions/server/11b_NewSeqNoEqual.def' = result=3D'success'/> <test name=3D'definitions/server/11c_NewSeqNoLess.def' = result=3D'success'/> <test name=3D'definitions/server/13b_UnsolicitedLogoutMessage.def' = result=3D'success'/> <test name=3D'definitions/server/14a_BadField.def' = result=3D'success'/> <test name=3D'definitions/server/14b_RequiredFieldMissing.def' = result=3D'success'/> <test name=3D'definitions/server/14c_TagNotDefinedForMsgType.def' = result=3D'success'/> <test name=3D'definitions/server/14d_TagSpecifiedWithoutValue.def' = result=3D'success'/> <test name=3D'definitions/server/14e_IncorrectEnumValue.def' = result=3D'success'/> <test name=3D'definitions/server/14f_IncorrectDataFormat.def' = result=3D'success'/> <test = name=3D'definitions/server/14g_HeaderBodyTrailerFieldsOutOfOrder.def' = result=3D'success'/> <test = name=3D'definitions/server/15_HeaderAndBodyFieldsOrderedDifferently.def' = result=3D'success'/> <test = name=3D'definitions/server/19a_PossResendMessageThatHAsAlreadyBeenSent.de= f' result=3D'success'/> <test = name=3D'definitions/server/19b_PossResendMessageThatHasNotBeenSent.def' = result=3D'success'/> <test name=3D'definitions/server/1a_ValidLogonMsgSeqNumTooHigh.def' = result=3D'success'/> <test = name=3D'definitions/server/1a_ValidLogonWithCorrectMsgSeqNum.def' = result=3D'success'/> <test name=3D'definitions/server/1b_DuplicateIdentity.def' = result=3D'success'/> <test name=3D'definitions/server/1c_InvalidSenderCompID.def' = result=3D'success'/> <test name=3D'definitions/server/1c_InvalidTargetCompID.def' = result=3D'success'/> <test name=3D'definitions/server/1d_InvalidLogonLengthInvalid.def' = result=3D'success'/> <test name=3D'definitions/server/1d_InvalidLogonWrongBeginString.def' = result=3D'success'/> <test name=3D'definitions/server/1e_NotLogonMessage.def' = result=3D'success'/> <test name=3D'definitions/server/20_SimultaneousResendRequest.def' = result=3D'success'/> <test name=3D'definitions/server/2a_MsgSeqNumCorrect.def' = result=3D'success'/> <test name=3D'definitions/server/2b_MsgSeqNumTooHigh.def' = result=3D'success'/> <test name=3D'definitions/server/2c_MsgSeqNumTooLow.def' = result=3D'success'/> <test name=3D'definitions/server/2d_GarbledMessage.def' = result=3D'success'/> <test name=3D'definitions/server/2e_PossDupAlreadyReceived.def' = result=3D'success'/> <test name=3D'definitions/server/2e_PossDupNotReceived.def' = result=3D'success'/> <test name=3D'definitions/server/2f_PossDupOrigSendingTimeTooHigh.def' = result=3D'success'/> <test name=3D'definitions/server/2g_PossDupNoOrigSendingTime.def' = result=3D'success'/> <test name=3D'definitions/server/2i_BeginStringValueUnexpected.def' = result=3D'success'/> <test name=3D'definitions/server/2k_CompIDDoesNotMatchProfile.def' = result=3D'success'/> <test name=3D'definitions/server/2m_BodyLengthValueNotCorrect.def' = result=3D'success'/> <test name=3D'definitions/server/2o_SendingTimeValueOutOfRange.def' = result=3D'success'/> <test name=3D'definitions/server/2q_MsgTypeNotValid.def' = result=3D'success'/> <test name=3D'definitions/server/2r_UnregisteredMsgType.def' = result=3D'success'/> <test name=3D'definitions/server/2t_FirstThreeFieldsOutOfOrder.def' = result=3D'success'/> <test name=3D'definitions/server/3b_InvalidChecksum.def' = result=3D'success'/> <test name=3D'definitions/server/3c_GarbledMessage.def' = result=3D'success'/> <test name=3D'definitions/server/4a_NoDataSentDuringHeartBtInt.def' = result=3D'success'/> <test name=3D'definitions/server/4b_ReceivedTestRequest.def' = result=3D'success'/> <test name=3D'definitions/server/6_SendTestRequest.def' = result=3D'success'/> <test name=3D'definitions/server/7_ReceiveRejectMessage.def' = result=3D'success'/> <test name=3D'definitions/server/8_AdminAndApplicationMessages.def' = result=3D'success'/> <test name=3D'definitions/server/8_OnlyAdminMessages.def' = result=3D'success'/> <test name=3D'definitions/server/8_OnlyApplicationMessages.def' = result=3D'success'/> /have fun! ahmad m. zawawi |