Jamm\Memory\Shm\ShmMem::refresh PHP Method

refresh() protected method

Synchronize data with memory storage
protected refresh ( ) : boolean | integer
return boolean | integer
    protected function refresh()
    {
        ignore_user_abort(true);
        set_time_limit(180);
        //don't call readmemory() here
        if (!empty($this->mem[self::map_key_ttl]) && intval(date('s')) == 0) {
            $_time = time();
            foreach ($this->mem[self::map_key_ttl] as $ttl_key => $ttl_value) {
                if ($ttl_value < $_time) {
                    unset($this->mem[self::map_keys][$ttl_key]);
                }
            }
        }
        $t = serialize($this->mem);
        $size = strlen($t);
        $current_size = shmop_size($this->shm);
        if ($size > $current_size) {
            $r = $this->resize($size + ceil($current_size / 5) + 1000);
        } else {
            $r = shmop_write($this->shm, str_pad($t, shmop_size($this->shm), ' ', STR_PAD_RIGHT), 0);
        }
        unset($this->mem);
        return $r;
    }