repo_description: A pure node.js JavaScript Client implementing the MySQL protocol.
repo_topics: javascript mysql nodejs
code: var Timers = require('timers');
  
  module.exports = Timer;
  function Timer(object) {
    this._object  = object;
    this._timeout = null;
  }
  
  Timer.prototype.active = function active() {
    if (this._timeout) {
      if (this._timeout.refresh) {
        this._timeout.refresh();
      } else {
        Timers.active(this._timeout);
      }
    }
  };
  
  Timer.prototype.start = function start(msecs) {
    this.stop();
    this._timeout = Timers.setTimeout(this._onTimeout.bind(this), msecs);
  };
  
  Timer.prototype.stop = function stop() {
    if (this._timeout) {
      Timers.clearTimeout(this._timeout);
      this._timeout = null;
    }
  };
  
  Timer.prototype._onTimeout = function _onTimeout() {
    return this._object._onTimeout();
  };
  