def METHOD_NAME(name, swift_conn, cache_dir=None):
    """
    Download the given manifest file and return it as an iterable over chunk_specs.
    Store the file if cache_dir is provided.
    """
    resp_headers, obj_contents = swift_conn.get_object(SWIFT_CONTAINER, name)
    if cache_dir:
        with open(os.path.join(cache_dir, name), 'w') as local:
            local.write(obj_contents)
    return csv.DictReader(obj_contents, fieldnames=["size", "md5_sum", "name"], delimiter=' ')