xapian-core  1.4.26
Macros | Variables
glass_freelist.cc File Reference

Glass freelist. More...

#include <config.h>
#include "glass_freelist.h"
#include "glass_table.h"
#include "xapian/error.h"
#include "omassert.h"
#include "wordaccess.h"
#include <cstring>
+ Include dependency graph for glass_freelist.cc:

Go to the source code of this file.

Macros

#define FREELIST_END   block_size
 

Variables

const unsigned C_BASE = 8
 The first offset to use for storing free block info. More...
 
const uint4 UNUSED = static_cast<uint4>(-1)
 Invalid freelist block value, so we can detect overreading bugs, etc. More...
 

Detailed Description

Glass freelist.

Definition in file glass_freelist.cc.

Macro Definition Documentation

◆ FREELIST_END

#define FREELIST_END   block_size

Variable Documentation

◆ C_BASE

const unsigned C_BASE = 8

The first offset to use for storing free block info.

The first 4 bytes store the revision. The next byte (which is the level for a block in the B-tree) is set to LEVEL_FREELIST to mark this as a freelist block).

Definition at line 61 of file glass_freelist.cc.

Referenced by GlassFreeList::get_block(), GlassFreeList::mark_block_unused(), and GlassFreeList::walk().

◆ UNUSED

const uint4 UNUSED = static_cast<uint4>(-1)

Invalid freelist block value, so we can detect overreading bugs, etc.

Definition at line 64 of file glass_freelist.cc.

Referenced by GlassFreeList::commit(), GlassFreeList::get_block(), GlassFreeList::mark_block_unused(), and GlassFreeList::walk().