X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FNotice_inbox.php;h=47ed6b22db628a8baaed7bd797c027ff0d5531fa;hb=39f8d2c72830d7bc3c08f60d1df38d19c846a74b;hp=f3213703803d9da38d2dac0614744930b75a275e;hpb=fe53e780be5db4ceb2831a1d69faec6130a10deb;p=quix0rs-gnu-social.git diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php index f321370380..47ed6b22db 100644 --- a/classes/Notice_inbox.php +++ b/classes/Notice_inbox.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { + exit(1); +} require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; // We keep 5 pages of inbox notices in memcache, +1 for pagination check define('INBOX_CACHE_WINDOW', 101); +define('NOTICE_INBOX_GC_BOXCAR', 128); +define('NOTICE_INBOX_GC_MAX', 12800); +define('NOTICE_INBOX_LIMIT', 1000); +define('NOTICE_INBOX_SOFT_LIMIT', 1000); class Notice_inbox extends Memcached_DataObject { @@ -43,92 +49,33 @@ class Notice_inbox extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - function stream($user_id, $offset=0, $limit=20, $since_id=0, $before_id=0, $since=null) + function stream($user_id, $offset, $limit, $since_id, $max_id, $own=false) { - $cache = common_memcache(); - - if (empty($cache) || - $since_id != 0 || $before_id != 0 || !is_null($since) || - ($offset + $limit) > INBOX_CACHE_WINDOW) { - return Notice_inbox::_streamDirect($user_id, $offset, $limit, $since_id, $before_id, $since); - } - - $idkey = common_cache_key('notice_inbox:by_user:'.$user_id); - - $idstr = $cache->get($idkey); - - if (!empty($idstr)) { - // Cache hit! Woohoo! - $window = explode(',', $idstr); - $ids = array_slice($window, $offset, $limit); - return $ids; - } - - $laststr = common_cache_key($idkey.';last'); - - if (!empty($laststr)) { - $window = explode(',', $laststr); - $last_id = $window[0]; - $new_ids = Notice_inbox::_streamDirect($user_id, 0, INBOX_CACHE_WINDOW, - $last_id, null, null); - - $new_window = array_merge($new_ids, $window); - - $new_windowstr = implode(',', $new_window); - - $result = $cache->set($idkey, $new_windowstr); - $result = $cache->set($idkey . ';last', $new_windowstr); - - $ids = array_slice($new_window, $offset, $limit); - - return $ids; - } - - $window = Notice_inbox::_streamDirect($user_id, 0, INBOX_CACHE_WINDOW, - null, null, null); - - $windowstr = implode(',', $new_window); - - $result = $cache->set($idkey, $windowstr); - $result = $cache->set($idkey . ';last', $windowstr); - - $ids = array_slice($window, $offset, $limit); - - return $ids; + throw new Exception('Notice_inbox no longer used; use Inbox'); } - function _streamDirect($user_id, $offset, $limit, $since_id, $before_id, $since) + function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id) { - $inbox = new Notice_inbox(); - - $inbox->user_id = $user_id; - - if ($since_id != 0) { - $inbox->whereAdd('notice_id > ' . $since_id); - } - - if ($before_id != 0) { - $inbox->whereAdd('notice_id < ' . $before_id); - } - - if (!is_null($since)) { - $inbox->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\''); - } - - $inbox->orderBy('notice_id DESC'); + throw new Exception('Notice_inbox no longer used; use Inbox'); + } - if (!is_null($offset)) { - $inbox->limit($offset, $limit); - } + function &pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('Notice_inbox', $kv); + } - $ids = array(); + static function gc($user_id) + { + throw new Exception('Notice_inbox no longer used; use Inbox'); + } - if ($inbox->find()) { - while ($inbox->fetch()) { - $ids[] = $inbox->notice_id; - } - } + static function deleteMatching($user_id, $notices) + { + throw new Exception('Notice_inbox no longer used; use Inbox'); + } - return $ids; + static function bulkInsert($notice_id, $created, $ni) + { + throw new Exception('Notice_inbox no longer used; use Inbox'); } }