/** * Used to inform the loader of its state as a sub loader, or as the top of the chain. * * This is important as it ensures that we do not have more than one loader keeping persistent data. * Subloaders need to be "pure" loaders in the sense that they are used to store and retrieve information from stores or the * next loader/data source in the chain. * Nothing fancy, nothing flash. * * @param bool $setting */ protected function set_is_sub_loader($setting = true) { if ($setting) { $this->subloader = true; // Subloaders should not keep persistent data. $this->persist = false; $this->persistmaxsize = false; } else { $this->subloader = true; $this->persist = $this->definition->should_be_persistent(); if ($this->persist) { $this->persistmaxsize = $this->definition->get_persistent_max_size(); } } }
/** * Initialises the store instance for a definition. * @param cache_definition $definition */ public function initialise(cache_definition $definition) { // If the definition isn't persistent then we need to be persistent here. $this->persist = !$definition->should_be_persistent(); }
/** * Initialises the store instance for a definition. * @param cache_definition $definition */ public function initialise(cache_definition $definition) { // If the definition isn't persistent then we need to be persistent here. // The reasoning behind this is that: // - If the definition is persistent then the cache loader is going to // store things in its persistent cache. // - If the definition is not persistent then the cache loader won't try to store anything // and we will need to store it here in order to make sure it is accessible. $this->persist = !$definition->should_be_persistent(); }