code: func (e *endpoint) resetKeepaliveTimer(receivedData bool) {
  	e.keepalive.Lock()
  	defer e.keepalive.Unlock()
  	if receivedData {
  		e.keepalive.unacked = 0
  	}
  	// Start the keepalive timer IFF it's enabled and there is no pending
  	// data to send.
  	if !e.keepalive.enabled || e.snd == nil || e.snd.sndUna != e.snd.sndNxt {
  		e.keepalive.timer.disable()
  		return
  	}
  	if e.keepalive.unacked > 0 {
  		e.keepalive.timer.enable(e.keepalive.interval)
  	} else {
  		e.keepalive.timer.enable(e.keepalive.idle)
  	}
  }
docs: // resetKeepaliveTimer restarts or stops the keepalive timer, depending on
  // whether it is enabled for this endpoint.