def METHOD_NAME(url):
    """
    Parses as RawSocket URL into it's components and returns a tuple:
     - ``isSecure`` is a flag which is ``True`` for ``rss`` URLs.
     - ``host`` is the hostname or IP from the URL.
    and for TCP/IP sockets:
     - ``tcp_port`` is the port from the URL or standard port derived from
       scheme (``rs`` => ``80``, ``rss`` => ``443``).
    or for Unix domain sockets:
     - ``uds_path`` is the path on the local host filesystem.
    :param url: A valid RawSocket URL, i.e. ``rs://localhost:9000`` for TCP/IP sockets or
        ``rs://unix:/tmp/file.sock`` for Unix domain sockets (UDS).
    :type url: str
    :returns: A 3-tuple ``(isSecure, host, tcp_port)`` (TCP/IP) or ``(isSecure, host, uds_path)`` (UDS).
    :rtype: tuple
    """
    parsed = urlparse.urlparse(url)
    if parsed.scheme not in ["rs", "rss"]:
        raise Exception("invalid RawSocket URL: protocol scheme '{}' is not for RawSocket".format(parsed.scheme))
    if not parsed.hostname or parsed.hostname == "":
        raise Exception("invalid RawSocket URL: missing hostname")
    if parsed.query is not None and parsed.query != "":
        raise Exception("invalid RawSocket URL: non-empty query '{}'".format(parsed.query))
    if parsed.fragment is not None and parsed.fragment != "":
        raise Exception("invalid RawSocket URL: non-empty fragment '{}'".format(parsed.fragment))
    if parsed.hostname == "unix":
        # Unix domain sockets sockets
        # rs://unix:/tmp/file.sock => unix:/tmp/file.sock => /tmp/file.sock
        fp = parsed.netloc + parsed.path
        uds_path = fp.split(':')[1]
        # note: we don't interpret "uds_path" in any further way: it needs to be
        # a path on the local host with a listening Unix domain sockets at the other end ..
        return parsed.scheme == "rss", parsed.hostname, uds_path
    else:
        # TCP/IP sockets
        if parsed.path is not None and parsed.path != "":
            raise Exception("invalid RawSocket URL: non-empty path '{}'".format(parsed.path))
        if parsed.port is None or parsed.port == "":
            if parsed.scheme == "rs":
                tcp_port = 80
            else:
                tcp_port = 443
        else:
            tcp_port = int(parsed.port)
        if tcp_port < 1 or tcp_port > 65535:
            raise Exception("invalid port {}".format(tcp_port))
        return parsed.scheme == "rss", parsed.hostname, tcp_port