refactor RingBuffer

This commit is contained in:
Schluffe
2026-08-24 22:26:08 +02:00
parent e041b5fdfc
commit 13d462fc43
4 changed files with 47 additions and 17 deletions
+20
View File
@@ -0,0 +1,20 @@
import { expect, test } from "vitest";
import { claim, createRingBuffer } from "./RingBuffer.ts";
test("RingBuffer", () => {
expect(() => createRingBuffer(3, () => ({}))).toThrow(
"size must be a power of two",
);
const pooled = createRingBuffer(4, () => ({}));
expect(pooled.size).toBe(4);
expect(pooled.cursor).toBe(0);
expect(pooled.buffer.length).toBe(4);
for (let i = 0; i < 8; i++) {
expect(claim(pooled)).toBe(pooled.buffer[i % 4]);
}
expect(pooled.cursor).toBe(0);
});