Exemple #1
0
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.')
Exemple #2
0
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.')
Exemple #3
0
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.')