/** * @return bool */ public function valid() { $size = self::$db->size($this->name()); if ($this->position < $this->buffer_position || $this->position >= $this->buffer_position + $size) { $this->buffer_position = intval($this->position / $size) * $size; $this->buffer = self::$db->getIndexes($this->name(), $this->buffer_position, $size); } return isset($this->buffer[$this->position - $this->buffer_position]); }