public function __construct($name = '') { if (!extension_loaded("sysvsem") || !extension_loaded("sysvshm") || !extension_loaded("sysvmsg")) { throw new Hush_Process_Exception("You need to open sysv* extensions"); return false; } // get global queue name $this->name = get_class($this); // get queue id from name $this->name .= '_' . $name; $this->qid = Hush_Util::str_hash($this->name); // init msg queue if (!($this->queue = msg_get_queue($this->qid, 0666))) { throw new Hush_Message_Exception("Queue " . $this->name . " create failed"); return false; } }
/** * Get string or key's hash code * @param string $s * @return int */ private function __hashcode($s) { $base = ftok(__FILE__, 'r'); $code = $base + Hush_Util::str_hash($s); return $code ? $code : $base; }
/** * Get string or key's hash code * @param string $s * @return int */ private function __hashcode($s) { $code = $this->ftbr + Hush_Util::str_hash($s); return $code ? $code : $this->ftbr; }