aboutsummaryrefslogtreecommitdiff
path: root/page.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-01-08 08:06:17 -0700
committerBen Johnson <benbjohnson@yahoo.com>2014-01-08 08:06:17 -0700
commitebc9f0da9e0d2fe90a4f9a820114d462fdf13178 (patch)
tree287fb8791e03a70d5959c12dabab4bb25766d713 /page.go
parentNOTES (diff)
downloaddedo-ebc9f0da9e0d2fe90a4f9a820114d462fdf13178.tar.gz
dedo-ebc9f0da9e0d2fe90a4f9a820114d462fdf13178.tar.xz
Basic types.
Diffstat (limited to 'page.go')
-rw-r--r--page.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/page.go b/page.go
new file mode 100644
index 0000000..3f1e6b3
--- /dev/null
+++ b/page.go
@@ -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
+}