示例#1
0
 /**
  * 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();
         }
     }
 }
示例#2
0
 /**
  * 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();
 }
示例#3
0
 /**
  * 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();
 }