Warning: session_start(): open(/var/lib/php/sessions/sess_i0rlc0fq19jf2bjhocbtpd5f1s, 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
//packageName wikify
//mainClassName Wikify
sclass Wikify {
volatile Indexed indexed;
S indexing;
Q q = startQ();
sclass Indexed {
S text;
LCSearcher_v4_multiFile searcher;
}
int anyIndexOf(S fullText, S pattern) {
if (empty(fullText)) ret -1;
Indexed _indexed = indexed;
if (_indexed != null && fullText == _indexed.text)
ret _indexed.searcher.singleFileAnyIndexOf(pattern);
// possibly index, do slow search
possiblyIndexText(fullText);
ret main indexOf(fullText, pattern);
}
synchronized void possiblyIndexText(S text) {
if (indexing != null) ret;
indexing = text;
q.add(r {
try {
new Indexed i;
i.text = text;
i.searcher = wikifyString(currentText);
setIndexed(i);
} finally {
indexing = null;
}
});
}
synchronized void setIndexed(Indexed i) {
indexed = i;
}
}