jmesnil/stomp-websocket — pull request #34 by inhies (2013-06-09 15:24:03+00:00)
Title: Add a window for heartbeat pings and pongs

I was having issues with my test system cosing the connection due to imprecise timing for the heartbeats. If the client using stomp.js says it will send a heartbeat every 10 seconds, the server killed the connection as soon as 10 seconds has elapsed. This was a problem because stomp.js was setting a timer for 10 seconds exactly but it wasn't sending the heartbeat in time.

The heartbeatWindow value allows you to specify a percentage difference. By default I set it to 10 percent, which will send a heartbeat every 9 seconds and expect a heartbeat every 11 seconds, if using the default 10 second values for the heartbeat negotiation.