Package Exports
- memory-pager
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (memory-pager) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
memory-pager
Access memory using small fixed sized buffers instead of allocating a huge buffer. Useful if you are implementing sparse data structures (such as large bitfield).
npm install memory-pager
Usage
var pager = require('paged-memory')
var pages = pager(1024) // use 1kb per page
var page = pages.get(10) // get page #10
console.log(page.offset) // 10240
console.log(page.buffer) // a blank 1kb buffer
API
var pages = pager(pageSize)
Create a new pager. pageSize
defaults to 1024
.
var page = pages.get(pageNumber, [noAllocate])
Get a page. The page will be allocated at first access.
Optionally you can set the noAllocate
flag which will make the
method return undefined if no page has been allocated already
A page looks like this
{
offset: byteOffset,
buffer: bufferWithPageSize
}
pages.set(pageNumber, buffer)
Explicitly set the buffer for a page.
pages.updated(page)
Mark a page as updated.
pages.lastUpdate()
Get the last page that was updated.
var buf = pages.toBuffer()
Concat all pages allocated pages into a single buffer
License
MIT