[This message was posted by John Prewett of Lava Trading 
<[email protected]> to the "General Q/A" discussion forum at 
http://fixprotocol.org/discuss/22. You can reply to it on-line at 
http://fixprotocol.org/discuss/read/c133f5e2 - PLEASE DO NOT REPLY BY MAIL.]

Hi,

You should always send out a heartbeat at the appropriate moment, irrespective 
of whether the other end is currently in some problematic state (but still 
connected).

If you perceive an initiator is connecting to you with an absurdly low 
heartbeat interval, I would recommend terminating the session in an appropriate 
manner, shortly after receipt of their Logon message and initiating human 
contact with this client to indicate the nature of the problem.

Thirdly, you have hardcoded a value (12) for "some reasonable transmission 
time".  I would recommend against this.  I use a configurable percentage of the 
agreed heartbeat interval.  Typically, because I tend to be lenient, that tends 
to be 100% of the heartbeat interval.  The reason I am lenient is that I have 
found that some problematic customer applications "go to sleep" at inconvenient 
moments but are not actually dead.  Forcing a disconnect is a drastic step, 
invoking recovery on both sides.  Often the problematic customer application is 
even less good at recovery than it was at heartbeating, so I view disconnection 
as the absolute last resort.  In most trading applications, the messages 
(example: executions) are going to HAVE to be delivered eventually anyway, so a 
disconnection (if the application is sleeping and not dead) only serves to 
delay that goal.

I hope this helps.

JohnP

[You can unsubscribe from this discussion group by sending a message to 
mailto:[email protected]]
-- 
You received this message because you are subscribed to the Google Groups 
"Financial Information eXchange" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fix-protocol?hl=en.


Reply via email to