'Method called when reactor starts: do some initialization and fire
startup events.
Don\'t call this directly, call reactor.run() instead: it should take
care of calling this.
This method is somewhat misnamed.  The reactor will not necessarily be
in the running state by the time this method returns.  The only
guarantee is that it will be on its way to the running state.'

def startRunning(self):

    if self._started:
        raise error.ReactorAlreadyRunning()
    if self._startedBefore:
        raise error.ReactorNotRestartable()
    self._started = True
    self._stopped = False
    if self._registerAsIOThread:
        threadable.registerAsIOThread()
    self.fireSystemEvent('startup')
