@thi.ng/buffers
Version:
General purpose and generic read/write buffer implementations with different behaviors/orderings
23 lines (22 loc) • 461 B
JavaScript
import { FIFOBuffer } from "./fifo.js";
const dropping = (cap) => new DroppingBuffer(cap);
class DroppingBuffer extends FIFOBuffer {
copy() {
const buf = new DroppingBuffer(1);
buf.buf = this.buf.slice();
buf.rpos = this.rpos;
buf.wpos = this.wpos;
buf.len = this.len;
return buf;
}
writable() {
return true;
}
write(x) {
return super.writable() ? super.write(x) : false;
}
}
export {
DroppingBuffer,
dropping
};