Warning: session_start(): open(/var/lib/php/sessions/sess_s857324j0bvv2u3ut5v82gfnmg, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass WebThoughtSpace extends OptionalConcept {
S globalID;
new Webs webs;
new L openQuestions;
Lock lock = lock();
transient Map websByID; // note: make synchroMap when using
transient MultiMap index;
class Webs extends NotifyingList {
*() { super(new L); }
*(L l) { super(l); }
public synchronized bool add(Web web) {
synchronized(this) {
if (!list.add(web)) false;
}
if (index != null)
ai_addWebToIndex(index, web);
if (websByID != null)
websByID.put(web.globalID, web);
_change();
true;
}
void change() {
index = null;
websByID = null;
_change();
}
public synchronized L subList(int i, int j) {
ret new Webs(list.subList(i, j));
}
}
*() {}
*(Web... webs) {
addAll(this.webs, webs);
}
void addWeb(Web web) { webs.add(web); }
WebNode indexedNode(S query) { ret first(indexedNodes(query)); }
L indexedNodes(S query) {
if (index == null)
index = ai_indexWebs(webs);
ret index.get(query);
}
}