| export = pool; | |
| /** | |
| * An allocator as used by {@link util.pool}. | |
| * @typedef PoolAllocator | |
| * @type {function} | |
| * @param {number} size Buffer size | |
| * @returns {Uint8Array} Buffer | |
| */ | |
| type PoolAllocator = (size: number) => Uint8Array; | |
| /** | |
| * A slicer as used by {@link util.pool}. | |
| * @typedef PoolSlicer | |
| * @type {function} | |
| * @param {number} start Start offset | |
| * @param {number} end End offset | |
| * @returns {Uint8Array} Buffer slice | |
| * @this {Uint8Array} | |
| */ | |
| type PoolSlicer = (this: Uint8Array, start: number, end: number) => Uint8Array; | |
| /** | |
| * A general purpose buffer pool. | |
| * @memberof util | |
| * @function | |
| * @param {PoolAllocator} alloc Allocator | |
| * @param {PoolSlicer} slice Slicer | |
| * @param {number} [size=8192] Slab size | |
| * @returns {PoolAllocator} Pooled allocator | |
| */ | |
| declare function pool(alloc: PoolAllocator, slice: PoolSlicer, size?: number): PoolAllocator; | |