def startClient(self): """Start new client connection @return: deferred (C{defer.Deferred}) - deferred that will 'fire' when client connection is made (or fails) """ deferred = _SCSClientService.startClient(self) deferred.addCallback(self.stopClient) return deferred
def startClient(self): """Start new client connection @return: deferred (C{defer.Deferred}) - deferred that will 'fire' when client connection is made (or fails) """ msg = "Starting new client connection to %s..." % self.peer twisted_logger.writeLog(self.logPrefix, self.logName, msg) deferred = self.clientCreator.connectTCP(self.host, self.port) # Add callback and errback methods to be used to signal client's connection event deferred.addCallback(self._connSuccessHandler).addErrback(self._connFailureHandler) self.deferreds.append(deferred) return deferred
def startService(self): """Start ClientManager service. Automatically starts services for all 'enabled' clients @return: deferred which will 'fire' when all enabled SCS client services have started """ actions = [] # Initialize log and error service baseLogFileName = "client_manager" msg = "Opening '%s.log' and '%s.err' files in '%s' folder..." % (baseLogFileName, baseLogFileName, self.logDir) twisted_logger.writeLog(self.logPrefix, self.logName, msg) twisted_logger.initLogging(self.name, baseLogFileName, self.logDir, self) for srv in self.services: if not srv.running: actions.append(defer.maybeDeferred(srv.startService)) twisted_logger.writeLog(self.logPrefix, self.logName, "Starting '%s' service..." % self.name) deferred = self.startUp() if deferred: deferred.addCallback(self._startupComplete) actions.append(deferred) return defer.DeferredList(actions)