def is_running(self): self.pings += 1 if self.deferred is not None: raise AssertionError( "is_running called while it's already running!") self.deferred = Deferred() return self.deferred