diff --git a/src/configs/Createdb.php b/src/configs/Createdb.php
index 0b3063a70..099abc9da 100755
--- a/src/configs/Createdb.php
+++ b/src/configs/Createdb.php
@@ -483,15 +483,15 @@ $db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634195',
'http://i1.ytimg.com/vi/{}/default.jpg', '')");
$db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634196',
'MetaCafe', 'video', 'http://www.metacafe.com/watch/{}',
- 'http://www.metacafe.com/thumb/{}.jpg', '')");
+ '/resources/blank.png?{}', '')");
$db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634197',
'DailyMotion', 'video', 'http://www.dailymotion.com/video/{}',
- 'http://www.dailymotion.com/thumbnail/video/{}', '')");
+ '/resources/blank.png?{}', '')");
$db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634198',
'Vimeo', 'video', 'http://player.vimeo.com/video/{}',
- 'http://www.yioop.com/resources/blank.png?{}', '')");
+ '/resources/blank.png?{}', '')");
$db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634199',
- 'Break.com', 'video', 'http://www.break.com/index/{}', '" .
+ 'Break.com', 'video', '/resources/blank.png?{}', '" .
NAME_SERVER . "/resources/blank.png?{}', '')");
$db->execute("INSERT INTO MEDIA_SOURCE VALUES ('1342634200',
'Yahoo News', 'rss', 'http://news.yahoo.com/rss/',
diff --git a/src/data/default.db b/src/data/default.db
index ccdf307d6..4aa3a401e 100644
Binary files a/src/data/default.db and b/src/data/default.db differ
diff --git a/src/library/FileCache.php b/src/library/FileCache.php
index a76428501..adeaccf78 100644
--- a/src/library/FileCache.php
+++ b/src/library/FileCache.php
@@ -137,8 +137,7 @@ class FileCache
return false;
}
/**
- * Stores in the cache a key-value pair
- *
+ * Stores in the file cache a key-value pair
*
* @param string $key to associate with value
* @param mixed $value to store
@@ -172,7 +171,8 @@ class FileCache
return ($value % self::NUMBER_OF_BINS);
}
/**
- *
+ * Deletes cache key value files and ram copies of key values stored in the
+ * this file cache
*/
public function clear()
{
@@ -186,7 +186,12 @@ class FileCache
}
}
/**
+ * Used to mark a cache item, and keep track of rounds according to the
+ * marker algorith. This function determine if the cache is too full
+ * and if so eject an item.
*
+ * @param string $key that was just read from or written to. Might need
+ * to bbe marked according to marker algorithm
*/
protected function updateCache($key)
{
diff --git a/src/library/IndexManager.php b/src/library/IndexManager.php
index ee7d6b9a3..761987690 100644
--- a/src/library/IndexManager.php
+++ b/src/library/IndexManager.php
@@ -52,11 +52,12 @@ class IndexManager implements CrawlConstants
*/
public static $indexes = [];
/**
- *
+ * List of entries of the form name of bundle => time when cached
+ * @var array
*/
public static $index_times = [];
/**
- *
+ * Max number of IndexArchiveBundles that can be cached
*/
const INDEX_CACHE_SIZE = 1000;
/**
@@ -93,6 +94,9 @@ class IndexManager implements CrawlConstants
self::$indexes[$index_name]->setCurrentShard(0, true);
self::$index_times[$index_name] = time();
}
+ /*
+ If too many cached discard oldest 1/3 of cached indices
+ */
if (count(self::$indexes) > self::INDEX_CACHE_SIZE) {
$times = array_values(self::$index_times);
sort($times);
diff --git a/src/library/WebSite.php b/src/library/WebSite.php
index 80a8792ee..8a50f4178 100644
--- a/src/library/WebSite.php
+++ b/src/library/WebSite.php
@@ -795,12 +795,12 @@ class WebSite
$in_streams_with_data = $this->in_streams[self::CONNECTION];
}
$out_streams_with_data = $this->out_streams[self::CONNECTION];
- if ($this->timer_alarms->isEmpty()) {
- $timeout = null;
- $micro_timeout = 0;
- } else {
+ if ($this->timer_alarms->isEmpty()) {
+ $timeout = null;
+ $micro_timeout = 0;
+ } else {
$next_alarm = $this->timer_alarms->top();
- $pre_timeout = max(0, microtime(true) - $next_alarm[0]);
+ $pre_timeout = max(0, $next_alarm[0] - microtime(true));
$timeout = floor($pre_timeout);
$micro_timeout = intval(($timeout - floor($pre_timeout))
* 1000000);
@@ -922,7 +922,14 @@ class WebSite
return $out_data;
}
/**
+ * Used by usual and internal requests to compute response string of the
+ * web server to the web client's request. In the case of internal requests,
+ * it is sometimes usesful to return just the body of the response without
+ * HTTP headers
*
+ * @param bool $include_headers whether to include HTTP headers at beginning
+ * of reponse
+ * @return string HTTP response to web client request
*/
protected function getResponseData($include_headers = true)
{
@@ -1132,8 +1139,11 @@ class WebSite
if ($connection) {
if ($this->is_secure) {
stream_set_blocking($connection, 1);
- stream_socket_enable_crypto($connection, true,
+ set_error_handler(null);
+ @stream_socket_enable_crypto($connection, true,
STREAM_CRYPTO_METHOD_TLS_SERVER);
+ set_error_handler(
+ "seekquarry\\yioop\\configs\\yioop_error_handler");
stream_set_blocking($connection, 0);
}
$key = (int)$connection;