def loopbackTCP(server, client, port=0, noisy=True): """Run session between server and client protocol instances over TCP.""" from lib.twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenTCP(port, f, interface='127.0.0.1') clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectTCP('127.0.0.1', serverPort.getHost().port, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
def listenClass(self, port, klass, *args): serv = reactor.listenTCP(port, klass(*args)) return defer.succeed(serv.getHost()[1:])
from blockbox.server import BlockBoxFactory logging.basicConfig( format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=("--debug" in sys.argv) and logging.DEBUG or logging.INFO, datefmt="%m/%d/%Y %H:%M:%S", ) create_if_not("logs/console/console.log") logger = logging.getLogger("blockBox") logger.info("Starting up blockBox %s..." % VERSION) factory = BlockBoxFactory() try: reactor.listenTCP(factory.config.getint("network", "port"), factory) except CannotListenError: logger.critical("blockBox cannot listen on port %s. Is there another program using it?" % factory.config.getint("network", "port")) doExit() if factory.config.getboolean("network", "use_api"): api = APIFactory(factory) try: reactor.listenTCP(factory.config.getint("network", "api_port"), api) except CannotListenError: logger.warning("blockBox API cannot listen on port %s. Disabled." % factory.config.getint("network", "port")) del api rotate = logging.handlers.TimedRotatingFileHandler( filename="logs/console/console.log", when="H", interval=6, backupCount=14, )
from blockbox.constants import * from blockbox.logger import ColoredLogger from blockbox.server import BlockBoxFactory logging.basicConfig( format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=("--debug" in sys.argv) and logging.DEBUG or logging.INFO, datefmt="%m/%d/%Y %H:%M:%S", ) logger = logging.getLogger("blockBox") logger.info("Starting up blockBox %s..." % VERSION) factory = BlockBoxFactory() api = APIFactory(factory) reactor.listenTCP(factory.config.getint("network", "port"), factory) reactor.listenTCP(factory.config.getint("network", "api_port"), api) factory.create_if_not("logs/console/console.log") rotate = logging.handlers.TimedRotatingFileHandler( filename="logs/console/console.log", when="H", interval=6, backupCount=14, ) logging.root.addHandler(rotate) if factory.use_email: if factory.conf_email.getboolean("email", "need_auth"): email = logging.handlers.SMTPHandler(