|
xapian-core
1.4.30
|
#include <glass_freelist.h>
Collaboration diagram for GlassFreeList:Public Member Functions | |
| GlassFreeList () | |
| void | reset () |
| ~GlassFreeList () | |
| bool | empty () const |
| uint4 | get_block (const GlassTable *B, uint4 block_size, uint4 *blk_to_free=NULL) |
| uint4 | walk (const GlassTable *B, uint4 block_size, bool inclusive) |
| void | mark_block_unused (const GlassTable *B, uint4 block_size, uint4 n) |
| uint4 | get_revision () const |
| void | set_revision (uint4 revision_) |
| uint4 | get_first_unused_block () const |
| void | set_first_unused_block (uint4 base) |
| void | commit (const GlassTable *B, uint4 block_size) |
| void | pack (std::string &buf) |
| bool | unpack (const char **pstart, const char *end) |
| bool | unpack (const std::string &s) |
Protected Attributes | |
| uint4 | revision |
| uint4 | first_unused_block |
| GlassFLCursor | fl |
| GlassFLCursor | fl_end |
| GlassFLCursor | flw |
| bool | flw_appending |
Private Member Functions | |
| GlassFreeList (const GlassFreeList &) | |
| void | operator= (const GlassFreeList &) |
| void | read_block (const GlassTable *B, uint4 n, uint8_t *p) |
| void | write_block (const GlassTable *B, uint4 n, uint8_t *p, uint4 rev) |
Private Attributes | |
| uint8_t * | p |
| Current freelist block. More... | |
| uint8_t * | pw |
| Current freelist block we're writing. More... | |
Definition at line 66 of file glass_freelist.h.
|
private |
|
inline |
Definition at line 92 of file glass_freelist.h.
References first_unused_block, flw_appending, p, pw, and revision.
|
inline |
Definition at line 105 of file glass_freelist.h.
| void GlassFreeList::commit | ( | const GlassTable * | B, |
| uint4 | block_size | ||
| ) |
Definition at line 242 of file glass_freelist.cc.
References aligned_read4(), Assert, FREELIST_END, Xapian::revision(), and UNUSED.
Referenced by GlassTable::commit().
|
inline |
Definition at line 107 of file glass_freelist.h.
| uint4 GlassFreeList::get_block | ( | const GlassTable * | B, |
| uint4 | block_size, | ||
| uint4 * | blk_to_free = NULL |
||
| ) |
Definition at line 85 of file glass_freelist.cc.
References aligned_read4(), Assert, BLK_UNUSED, C_BASE, FREELIST_END, Xapian::Internal::str(), and UNUSED.
|
inline |
Definition at line 119 of file glass_freelist.h.
References first_unused_block.
Referenced by GlassFreeListChecker::GlassFreeListChecker(), and GlassTable::next_for_sequential().
|
inline |
Definition at line 116 of file glass_freelist.h.
References revision.
| void GlassFreeList::mark_block_unused | ( | const GlassTable * | B, |
| uint4 | block_size, | ||
| uint4 | n | ||
| ) |
Definition at line 187 of file glass_freelist.cc.
References aligned_read4(), aligned_write4(), Assert, BLK_UNUSED, C_BASE, FREELIST_END, Xapian::revision(), and UNUSED.
|
private |
|
inline |
Definition at line 126 of file glass_freelist.h.
References first_unused_block, fl, flw, GlassFLCursor::pack(), pack_uint(), and revision.
Referenced by GlassTable::commit(), and GlassDatabase::compact().
|
private |
Definition at line 67 of file glass_freelist.cc.
References GET_LEVEL(), Glass::LEVEL_FREELIST, and rare.
|
inline |
Definition at line 99 of file glass_freelist.h.
References first_unused_block, flw_appending, and revision.
Referenced by GlassTable::cancel().
|
inline |
Definition at line 122 of file glass_freelist.h.
References first_unused_block.
Referenced by GlassDatabase::compact().
|
inline |
Definition at line 117 of file glass_freelist.h.
References revision.
Referenced by GlassTable::commit().
|
inline |
Definition at line 133 of file glass_freelist.h.
References first_unused_block, fl, fl_end, flw, flw_appending, revision, GlassFLCursor::unpack(), and unpack_uint().
Referenced by GlassTable::cancel(), and unpack().
|
inline |
Definition at line 145 of file glass_freelist.h.
References unpack().
| uint4 GlassFreeList::walk | ( | const GlassTable * | B, |
| uint4 | block_size, | ||
| bool | inclusive | ||
| ) |
Definition at line 140 of file glass_freelist.cc.
References aligned_read4(), Assert, C_BASE, FREELIST_END, and UNUSED.
|
private |
Definition at line 75 of file glass_freelist.cc.
References aligned_write4(), Glass::LEVEL_FREELIST, SET_LEVEL(), and SET_REVISION().
|
protected |
Definition at line 78 of file glass_freelist.h.
Referenced by get_first_unused_block(), GlassFreeList(), pack(), reset(), set_first_unused_block(), and unpack().
|
protected |
Definition at line 80 of file glass_freelist.h.
|
protected |
Definition at line 80 of file glass_freelist.h.
|
protected |
Definition at line 80 of file glass_freelist.h.
|
protected |
Definition at line 82 of file glass_freelist.h.
Referenced by GlassFreeList(), reset(), and unpack().
|
private |
Current freelist block.
Definition at line 86 of file glass_freelist.h.
Referenced by GlassFreeList(), and ~GlassFreeList().
|
private |
Current freelist block we're writing.
Definition at line 89 of file glass_freelist.h.
Referenced by GlassFreeList(), and ~GlassFreeList().
|
protected |
Definition at line 76 of file glass_freelist.h.
Referenced by get_revision(), GlassFreeList(), pack(), reset(), set_revision(), and unpack().