Re: [Quickfix-developers] CME Problems
Brought to you by:
orenmnero
From: Joerg T. <Joe...@ma...> - 2003-09-19 20:00:56
|
> 1. Sometimes a resend request is sent when an outstanding request > hasn't finished. This generates an error from ilink. > > The text of the error message is "Error. Received new Resend Request > while already processing a resend request". I did not find any comments in the FIX specs regarding this. So I do not know whether this is an error in general or only specific to your CME iLink. > 2. When a heartbeat message isn't received for one heartbeat > interval... a TEST message is sent. A disconnection is forced if there > are no heartbeats in the next heartbeat interval. The CME expects 2 > intervals (2 TEST messages) to be tried before giving up. They also > expect a logout at the end before disconnection. OK, quoting the FIX 4.3 spec: > When either end of a FIX connection has not sent any data for > [HeartBtInt] seconds, it will transmit a Heartbeat message. When > either end of the connection has not received any data for > (HeartBtInt + some reasonable transmission time ) seconds, it will > transmit a Test Request message. If there is still no Heartbeat > message received after (HeartBtInt + some reasonable transmission > time ) seconds then the connection should be considered lost and > corrective action be initiated. If HeartBtInt is set to zero then no > regular heartbeat messages will be generated. Note that a test > request message can still be sent independent of the value of the > HeartBtInt, which will force a Heartbeat message. The term "some reasonable transmission time" is in QuickFIX the time agreed upon on Logon. In the case of sending a TestRequest, this configured time is also taken. IMHO, the FIX 4.3 spec is to vague here. But anyway: The spec says that if the TestRequest is not answered "seconds then the connection should be considered lost." So I think that iLink is wrong here. > Has anyone else seen these? Otherwise, I can check the code and send > some fixes. > > I have also added a logoff() method to the FIX::Session class. Where > should I send this code for inclusion? That is a known issue that QuickFIX does not send Logoff if the session is stopped. So that would be nice to have. Oren is currently somewhere between Budapest and Vienna in Europe, and so he cannot deal with that. But there are some other people which have commit access to the sourceforge repository (see list of developers on source). If he comes back you could ask him to be given commit access. In the meantime, I could check in the code for you. It would be nice to have versions for C++, Java, .NET etc. Could you provide them, too? Cheers, Jörg -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |