'Create a new FUSE layer at the specified aff4 path.
Args:
root: String aff4 path for where we\'d like to mount the FUSE layer.
token: Datastore access token.
max_age_before_refresh: How out of date our cache is. Specifically, if the
time since we last did a client-side update of an aff4 object is greater
than this value, we\'ll run a flow on the client and update that object.
ignore_cache: If true, always refresh data from the client. Overrides
max_age_before_refresh.
force_sparse_image: Whether to try and store every file bigger than the
size threshold as a sparse image, regardless of whether we\'ve already got
data for it.
sparse_image_threshold: If a new file is >= this size, store it
as an empty AFF4SparseImage.
timeout: How long to wait for a client to finish running a flow, maximum.'

def __init__(self, root='/', token=None, max_age_before_refresh=None, ignore_cache=False, force_sparse_image=False, sparse_image_threshold=(1024 ** 3), timeout=flow_utils.DEFAULT_TIMEOUT):

    self.size_threshold = sparse_image_threshold
    self.force_sparse_image = force_sparse_image
    self.timeout = timeout
    if ignore_cache:
        max_age_before_refresh = datetime.timedelta(0)
    if (max_age_before_refresh is None):
        self.max_age_before_refresh = datetime.timedelta(seconds=flags.FLAGS.max_age_before_refresh)
    else:
        self.max_age_before_refresh = max_age_before_refresh
    super(GRRFuse, self).__init__(root, token)
