|
xapian-core
2.0.0
|
#include <honey_freelist.h>
Collaboration diagram for HoneyFreeList:Public Member Functions | |
| HoneyFreeList () | |
| void | reset () |
| ~HoneyFreeList () | |
| bool | empty () const |
| uint4 | get_block (const HoneyTable *B, uint4 block_size, uint4 *blk_to_free=NULL) |
| uint4 | walk (const HoneyTable *B, uint4 block_size, bool inclusive) |
| void | mark_block_unused (const HoneyTable *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 HoneyTable *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 = 0 |
| uint4 | first_unused_block = 0 |
| HoneyFLCursor | fl |
| HoneyFLCursor | fl_end |
| HoneyFLCursor | flw |
| bool | flw_appending = false |
Private Member Functions | |
| HoneyFreeList (const HoneyFreeList &) | |
| void | operator= (const HoneyFreeList &) |
| void | read_block (const HoneyTable *B, uint4 n, uint8_t *p) |
| void | write_block (const HoneyTable *B, uint4 n, uint8_t *p, uint4 rev) |
Private Attributes | |
| uint8_t * | p = nullptr |
| Current freelist block. More... | |
| uint8_t * | pw = nullptr |
| Current freelist block we're writing. More... | |
Definition at line 65 of file honey_freelist.h.
|
private |
|
inline |
Definition at line 91 of file honey_freelist.h.
|
inline |
Definition at line 99 of file honey_freelist.h.
| void HoneyFreeList::commit | ( | const HoneyTable * | B, |
| uint4 | block_size | ||
| ) |
Definition at line 249 of file honey_freelist.cc.
References aligned_read4(), Assert, FREELIST_END, p, Xapian::revision(), and UNUSED.
|
inline |
Definition at line 101 of file honey_freelist.h.
| uint4 HoneyFreeList::get_block | ( | const HoneyTable * | B, |
| uint4 | block_size, | ||
| uint4 * | blk_to_free = NULL |
||
| ) |
Definition at line 85 of file honey_freelist.cc.
References aligned_read4(), Assert, BLK_UNUSED, C_BASE, FREELIST_END, p, Xapian::Internal::str(), and UNUSED.
|
inline |
Definition at line 113 of file honey_freelist.h.
References first_unused_block.
Referenced by HoneyFreeListChecker::HoneyFreeListChecker().
|
inline |
Definition at line 110 of file honey_freelist.h.
References revision.
| void HoneyFreeList::mark_block_unused | ( | const HoneyTable * | B, |
| uint4 | block_size, | ||
| uint4 | n | ||
| ) |
Definition at line 191 of file honey_freelist.cc.
References aligned_read4(), aligned_write4(), Assert, BLK_UNUSED, C_BASE, FREELIST_END, p, Xapian::revision(), and UNUSED.
|
private |
|
inline |
Definition at line 120 of file honey_freelist.h.
References first_unused_block, fl, flw, HoneyFLCursor::pack(), pack_uint(), and revision.
Referenced by HoneyDatabase::compact().
|
private |
Definition at line 59 of file honey_freelist.cc.
References Glass::GET_LEVEL(), Glass::LEVEL_FREELIST, and rare.
|
inline |
Definition at line 93 of file honey_freelist.h.
References first_unused_block, flw_appending, and revision.
|
inline |
Definition at line 116 of file honey_freelist.h.
References first_unused_block.
Referenced by HoneyDatabase::compact().
|
inline |
Definition at line 111 of file honey_freelist.h.
References revision.
|
inline |
Definition at line 127 of file honey_freelist.h.
References first_unused_block, fl, fl_end, flw, flw_appending, revision, HoneyFLCursor::unpack(), and unpack_uint().
Referenced by unpack().
|
inline |
Definition at line 139 of file honey_freelist.h.
References unpack().
| uint4 HoneyFreeList::walk | ( | const HoneyTable * | B, |
| uint4 | block_size, | ||
| bool | inclusive | ||
| ) |
Definition at line 143 of file honey_freelist.cc.
References aligned_read4(), Assert, C_BASE, FREELIST_END, p, and UNUSED.
|
private |
Definition at line 71 of file honey_freelist.cc.
References aligned_write4(), Glass::LEVEL_FREELIST, Glass::SET_LEVEL(), and Glass::SET_REVISION().
|
protected |
Definition at line 77 of file honey_freelist.h.
Referenced by get_first_unused_block(), pack(), reset(), set_first_unused_block(), and unpack().
|
protected |
Definition at line 79 of file honey_freelist.h.
|
protected |
Definition at line 79 of file honey_freelist.h.
|
protected |
Definition at line 79 of file honey_freelist.h.
|
protected |
Definition at line 81 of file honey_freelist.h.
|
private |
Current freelist block.
Definition at line 85 of file honey_freelist.h.
Referenced by ~HoneyFreeList().
|
private |
Current freelist block we're writing.
Definition at line 88 of file honey_freelist.h.
Referenced by ~HoneyFreeList().
|
protected |
Definition at line 75 of file honey_freelist.h.
Referenced by get_revision(), pack(), reset(), set_revision(), and unpack().