Warning: session_start(): open(/var/lib/php/sessions/sess_lrj8e9qbgpnqhdkbr64nqdjf59, 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 SimpleCircularBuffer {
A[] buffer;
long base; // elements dropped due to overcapacity
int size; // elements actually contained
*(int capacity) {
buffer = (A[]) new O[capacity];
}
synchronized void add(A a) {
if (size == buffer.length) {
--size;
++base;
}
buffer[(int) ((base+size) % buffer.length)] = a;
++size;
}
synchronized A get(long pos) {
if (pos < base || pos >= base+size) null;
ret buffer[(int) (pos % buffer.length)];
}
synchronized int size() {
ret size;
}
synchronized int capacity() {
ret buffer.length;
}
synchronized bool isFull() {
ret size() == capacity();
}
synchronized long getBase() {
ret base;
}
}