diff options
Diffstat (limited to 'meta.go')
-rw-r--r-- | meta.go | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -14,8 +14,8 @@ type meta struct { pageSize uint32 pgid pgid free pgid + sys pgid txnid txnid - sys bucket } // validate checks the marker bytes and version of the meta page to ensure it matches this binary. @@ -30,8 +30,20 @@ func (m *meta) validate() error { // copy copies one meta object to another. func (m *meta) copy(dest *meta) { + dest.magic = m.magic + dest.version = m.version dest.pageSize = m.pageSize dest.pgid = m.pgid + dest.free = m.free dest.txnid = m.txnid dest.sys = m.sys } + +// write writes the meta onto a page. +func (m *meta) write(p *page) { + // Page id is either going to be 0 or 1 which we can determine by the Txn ID. + p.id = pgid(m.txnid % 2) + p.flags |= p_meta + + m.copy(p.meta()) +} |