Exemplo n.º 1
0
 /**
  * tests lock()/unlock()/isLocked() functions
  */
 public function testLock()
 {
     $memoryManager = new DummyMemoryManager();
     $memObject = new Container\Movable($memoryManager, 10, '0123456789');
     $this->assertFalse((bool) $memObject->isLocked());
     $memObject->lock();
     $this->assertTrue((bool) $memObject->isLocked());
     $memObject->unlock();
     $this->assertFalse((bool) $memObject->isLocked());
 }
Exemplo n.º 2
0
 /**
  * Swap object data to disk
  * Actually swaps data or only unloads it from memory,
  * if object is not changed since last swap
  *
  * @param \Zend\Memory\Container\Movable $container
  * @param int $id
  */
 private function _swap(Container\Movable $container, $id)
 {
     if ($container->isLocked()) {
         return;
     }
     if (!$container->isSwapped()) {
         $this->cache->setItem($this->managerId . $id, $container->getRef());
     }
     $this->memorySize -= $this->sizes[$id];
     $container->markAsSwapped();
     $container->unloadValue();
 }