diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-01-08 08:06:17 -0700 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-01-08 08:06:17 -0700 |
commit | ebc9f0da9e0d2fe90a4f9a820114d462fdf13178 (patch) | |
tree | 287fb8791e03a70d5959c12dabab4bb25766d713 /page.go | |
parent | NOTES (diff) | |
download | dedo-ebc9f0da9e0d2fe90a4f9a820114d462fdf13178.tar.gz dedo-ebc9f0da9e0d2fe90a4f9a820114d462fdf13178.tar.xz |
Basic types.
Diffstat (limited to 'page.go')
-rw-r--r-- | page.go | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +package bolt + +import ( + "unsafe" +) + +const MinPageKeys = 2 +const FillThreshold = 250 // 25% + +const ( + BranchPage = 0x01 + LeafPage = 0x02 + OverflowPage = 0x04 + MetaPage = 0x08 + DirtyPage = 0x10 /**< dirty page, also set for #P_SUBP pages */ + SubPage = 0x40 + KeepPage = 0x8000 /**< leave this page alone during spill */ +) + +type page struct { + header struct { + id int + next *page // (?) + lower int + upper int + overflowPageCount int + } + metadata []byte +} + +// nodeCount returns the number of nodes on the page. +func (p *page) nodeCount() int { + return 0 // (p.header.lower - unsafe.Sizeof(p.header) >> 1 +} + +// remainingSize returns the number of bytes left in the page. +func (p *page) remainingSize() int { + return p.header.upper - p.header.lower +} + +// remainingSize returns the number of bytes left in the page. +func (p *page) remainingSize() int { + return p.header.upper - p.header.lower +} |