/** * Determine the maximum size for cache data to be written */ private function max_packet_size() { if ($this->max_packet < 0) { $this->max_packet = 2097152; // default/max is 2 MB if ($this->type == 'db') { if ($value = $this->db->get_variable('max_allowed_packet', $this->max_packet)) { $this->max_packet = $value; } $this->max_packet -= 2000; } else { if ($this->type == 'memcache') { $stats = $this->db->getStats(); $remaining = $stats['limit_maxbytes'] - $stats['bytes']; $this->max_packet = min($remaining / 5, $this->max_packet); } else { if ($this->type == 'apc' && function_exists('apc_sma_info')) { $stats = apc_sma_info(); $this->max_packet = min($stats['avail_mem'] / 5, $this->max_packet); } } } } return $this->max_packet; }
/** * Determine the maximum size for cache data to be written */ private function max_packet_size() { if ($this->max_packet < 0) { $this->max_packet = 2097152; // default/max is 2 MB if ($this->type == 'db') { if ($value = $this->db->get_variable('max_allowed_packet', $this->max_packet)) { $this->max_packet = $value; } $this->max_packet -= 2000; } else { $max_packet = rcube::get_instance()->config->get($this->type . '_max_allowed_packet'); $this->max_packet = parse_bytes($max_packet) ?: $this->max_packet; } } return $this->max_packet; }