Warning: session_start(): open(/var/lib/php/sessions/sess_eeopd1qbol81a8h925vgme5mna, 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 Cache {
O maker; // func -> A
A value;
long loaded;
sbool debug;
*() {}
*(O *maker) {}
synchronized A get() {
if (loaded == 0) {
value = (A) callF(maker);
loaded = sysNow();
}
ret value;
}
synchronized void clear {
if (debug && loaded != 0)
print("Clearing cache");
value = null;
loaded = 0;
}
// clear if older than x seconds
// 0 does not do anything
synchronized void clear(double seconds) {
if (seconds != 0 && loaded != 0 && sysNow() >= loaded+seconds*1000)
clear();
}
}