class_docstr: Schedules the given callback to be called once.
  
  The callback is called once, after callback_time milliseconds.
  
  `start` must be called after the DelayedCallback is created.
  
  The timeout is calculated from when `start` is called.
class_docstr_tok: ["Schedules","the","given","callback","to","be","called","once",".","The","callback","is","called","once",",","after","callback_time","milliseconds",".","`","start","`","must","be","called","after","the","DelayedCallback","is","created",".","The","timeout","is","calculated","from","when","`","start","`","is","called","."]
docstr: Starts the timer.
docstr_tok: ["Starts","the","timer","."]
code: def start(self):
      """Starts the timer."""
      self._running = True
      self._firstrun = True
      self._next_timeout = time.time() + self.callback_time / 1000.0
      self.io_loop.add_timeout(self._next_timeout, self._run)
  
file_path: catboost/contrib/python/pyzmq/py2/zmq/eventloop/ioloop.py
imports: from __future__ import absolute_import, division, with_statement
  import time
  import warnings
label_desc: Use image node_id 2 for calling the DelayedCallback obj's underlying member method code with example usage: obj.start() without return types