index.js
function pong(timer){
  if (!timer.state.receivedPong) {
    log('< pong');
    timer.state.receivedPong = true;
    timer.state.retryCounter.reset();
    timer.state.roundsCount++;
  }
  return timer;
}
function pong(timer){
  if (!timer.state.receivedPong) {
    log('< pong');
    timer.state.receivedPong = true;
    timer.state.retryCounter.reset();
    timer.state.roundsCount++;
  }
  return timer;
}
a timer: a -> a  Notify ping that its pong has arrived. This restarts the retry Counter thus ensuring that the session continues on the next interval. Calling pong more than once per interval is noop.