+++ /dev/null
-var SlowBuffer = require('buffer').SlowBuffer;
-var POOLSIZE = 8*1024;
-var pool;
-
-function allocPool () {
- pool = new SlowBuffer(POOLSIZE);
- pool.used = 0;
-}
-
-function FastBuffer (length) {
- this.length = length;
-
- if (length > POOLSIZE) {
- // Big buffer, just alloc one.
- this.parent = new Buffer(length);
- this.offset = 0;
- } else {
- // Small buffer.
- if (!pool || pool.length - pool.used < length) allocPool();
- this.parent = pool;
- this.offset = pool.used;
- pool.used += length;
- }
-
- // HERE HERE HERE
- SlowBuffer.makeFastBuffer(this.parent, this, this.offset, this.length);
-}
-
-exports.FastBuffer = FastBuffer;
-
-FastBuffer.prototype.get = function (i) {
- if (i < 0 || i >= this.length) throw new Error("oob");
- return this.parent[this.offset + i];
-};
-
-FastBuffer.prototype.set = function (i, v) {
- if (i < 0 || i >= this.length) throw new Error("oob");
- return this.parent[this.offset + i] = v;
-};
-
-// TODO define slice, toString, write, etc.
-// slice should not use c++