protected function read_data($from, $to, array $keys = NULL)
{
if (is_array($from) && is_array($to) && !empty($keys)) {
$i = 0;
$c = count($from);
$data = array();
for (; $i < $c; $i++) {
if (isset($from[$i]) && isset($to[$i]) && isset($keys[$i])) {
$data[$keys[$i]] = shmop_read($this->shm_data_id, $from[$i], $to[$i] - $from[$i]);
}
}
} else {
$data = shmop_read($this->shm_data_id, $from, $to - $from);
}
return $data;
}