diff options
Diffstat (limited to 'node.go')
-rw-r--r-- | node.go | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +package bolt + +import ( + "unsafe" +) + +// node represents a node on a page. +type node struct { + flags uint16 + keySize uint16 +} + +// leafNode represents a node on a leaf page. +type leafNode struct { + node + dataSize uint32 + data uintptr // Pointer to the beginning of the data. +} + +// branchNode represents a node on a branch page. +type branchNode struct { + node + pgno uint32 + data uintptr // Pointer to the beginning of the data. +} + +// key returns a byte slice that of the key data. +func (n *leafNode) key() []byte { + return (*[MaxKeySize]byte)(unsafe.Pointer(&n.data))[:n.keySize] +} |