def start_backend(backend, host=None, port=None, adaptor=ControllerAdaptor_Backend_JSON, byef=None): conf = config.get_conf('beah-backend') host = host or conf.get('DEFAULT', 'INTERFACE') port = port or conf.get('DEFAULT', 'PORT') if os.name == 'posix': socket = conf.get('DEFAULT', 'SOCKET') # 0. check SOCKET_OPT (socket given on command line) if parse_bool(conf.get('DEFAULT', 'SOCKET_OPT')) and socket != '': port = '' # 1. check INTERFACE - if not empty nor localhost: must use TCP if not localhost_(host): socket = '' # 2. check PORT_OPT (port given on command line) if parse_bool(conf.get('DEFAULT', 'PORT_OPT')) and port != '': socket = '' else: socket = '' backend_factory = BackendFactory(backend, adaptor, byef) if socket != '': return reactor.connectUNIX(socket, backend_factory) elif port and host: return reactor.connectTCP(host, int(port), backend_factory) elif port: if not parse_bool(conf.get('DEFAULT', 'IPV6_DISABLED')): return connect_loopback(int(port), backend_factory) else: return connect_loopback(int(port), backend_factory, ipv6_disabled=True) else: raise EnvironmentError('Either socket or port must be configured.')
def start_task(conf, task, host=None, port=None, adaptor=twadaptors.ControllerAdaptor_Task_JSON, socket=None, ): factory = TaskFactory(task, adaptor) if os.name == 'posix': socket = socket or conf.get('TASK', 'SOCKET') if socket != '': return reactor.connectUNIX(socket, factory) host = host or conf.get('TASK', 'INTERFACE') port = port or int(conf.get('TASK', 'PORT')) if port and host: return reactor.connectTCP(host, int(port), factory) elif port: if not parse_bool(conf.get('DEFAULT', 'IPV6_DISABLED')): return connect_loopback(int(port), factory) else: return connect_loopback(int(port), factory, ipv6_disabled=True) raise EnvironmentError('Either socket or port must be given.')
def start_task( conf, task, host=None, port=None, adaptor=twadaptors.ControllerAdaptor_Task_JSON, socket=None, ): factory = TaskFactory(task, adaptor) if os.name == 'posix': socket = socket or conf.get('TASK', 'SOCKET') if socket != '': return reactor.connectUNIX(socket, factory) host = host or conf.get('TASK', 'INTERFACE') port = port or int(conf.get('TASK', 'PORT')) if port and host: return reactor.connectTCP(host, int(port), factory) elif port: if not parse_bool(conf.get('DEFAULT', 'IPV6_DISABLED')): return connect_loopback(int(port), factory) else: return connect_loopback(int(port), factory, ipv6_disabled=True) raise EnvironmentError('Either socket or port must be given.')