| 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; |