#include <BombayTable.hpp>
List of all members.
Public Member Functions |
| CAT_INLINE u32 | GetCacheBytes () |
| CAT_INLINE u32 | GetRecordBytes () |
| bool | Initialize () |
| u64 | Insert (void *data) |
| template<class THashFunc > |
| CAT_INLINE TableIndex * | MakeIndex (const char *index_file_path, bool unique) |
| bool | Query (u64 offset, AsyncBuffer *buffer) |
| bool | Remove (u64 offset) |
| bool | RequestIndexRebuild (TableIndex *index) |
| | Table (const char *file_path, u32 record_bytes, u32 cache_bytes, ShutdownObserver *shutdown_observer) |
| bool | Update (void *data, u64 offset) |
| virtual | ~Table () |
Protected Member Functions |
| bool | AllocateCache () |
| CacheNode * | FindNode (u64 offset) |
| void | FreeCache () |
| void | InsertNode (u64 offset, u32 key, CacheNode *hint, CacheNode *node) |
| u8 * | InsertOffset (u64 offset) |
| void | OnIndexingDone () |
| virtual bool | OnIndexingRead (ThreadPoolLocalStorage *tls, int error, AsyncBuffer *buffer, u32 bytes) |
| virtual bool | OnQueryRead (ThreadPoolLocalStorage *tls, int error, AsyncBuffer *buffer, u32 bytes) |
| virtual bool | OnRemoveRead (ThreadPoolLocalStorage *tls, int error, AsyncBuffer *buffer, u32 bytes) |
| u8 * | PeekOffset (u64 offset) |
| bool | RemoveOffset (u64 offset) |
| u8 * | SetOffset (u64 offset) |
| bool | StartIndexing () |
| bool | StartIndexingRead () |
| void | UnlinkNode (CacheNode *node) |
Protected Attributes |
| u8 * | _cache |
| u32 | _cache_bytes |
| bool | _cache_full |
| CacheNode ** | _cache_hash_table |
| u32 | _hash_table_size |
| TableIndex * | _head_index |
| TableIndex * | _head_index_unique |
| TableIndex * | _head_index_update |
| TableIndex * | _head_index_waiting |
| u64 | _index_database_size |
| u64 | _index_read_completed |
| u64 | _index_read_offset |
| u32 | _index_read_size |
| RWLock | _lock |
| u32 | _next_cache_slot |
Static Protected Attributes |
| static const u32 | MAX_INDEX_READ_SIZE = 32768 |
| static const u32 | MIN_TABLE_SIZE = 2048 |
| static const int | NUM_PARALLEL_INDEX_READS = 3 |
| static const u32 | TARGET_TREE_SIZE = 16 |
Private Member Functions |
| TableIndex * | MakeIndex (const char *index_file_path, IHash *hash_function, bool unique) |
| u64 | UniqueIndexLookup (const void *data) |
Private Attributes |
| u64 | _next_record |
| u32 | _record_bytes |
| ShutdownObserver * | _shutdown_observer |
Detailed Description
Definition at line 72 of file BombayTable.hpp.
Constructor & Destructor Documentation
| cat::bombay::Table::Table |
( |
const char * |
file_path, |
|
|
u32 |
record_bytes, |
|
|
u32 |
cache_bytes, |
|
|
ShutdownObserver * |
shutdown_observer |
|
) |
| |
| virtual cat::bombay::Table::~Table |
( |
| ) |
[virtual] |
Member Function Documentation
| bool cat::bombay::Table::AllocateCache |
( |
| ) |
[protected] |
| CacheNode* cat::bombay::Table::FindNode |
( |
u64 |
offset | ) |
[protected] |
| void cat::bombay::Table::FreeCache |
( |
| ) |
[protected] |
| CAT_INLINE u32 cat::bombay::Table::GetCacheBytes |
( |
| ) |
[inline] |
| CAT_INLINE u32 cat::bombay::Table::GetRecordBytes |
( |
| ) |
[inline] |
| bool cat::bombay::Table::Initialize |
( |
| ) |
|
| u64 cat::bombay::Table::Insert |
( |
void * |
data | ) |
|
| u8* cat::bombay::Table::InsertOffset |
( |
u64 |
offset | ) |
[protected] |
| TableIndex* cat::bombay::Table::MakeIndex |
( |
const char * |
index_file_path, |
|
|
IHash * |
hash_function, |
|
|
bool |
unique |
|
) |
| [private] |
template<class THashFunc >
| CAT_INLINE TableIndex* cat::bombay::Table::MakeIndex |
( |
const char * |
index_file_path, |
|
|
bool |
unique |
|
) |
| [inline] |
| void cat::bombay::Table::OnIndexingDone |
( |
| ) |
[protected] |
| u8* cat::bombay::Table::PeekOffset |
( |
u64 |
offset | ) |
[protected] |
| bool cat::bombay::Table::Remove |
( |
u64 |
offset | ) |
|
| bool cat::bombay::Table::RemoveOffset |
( |
u64 |
offset | ) |
[protected] |
| u8* cat::bombay::Table::SetOffset |
( |
u64 |
offset | ) |
[protected] |
| bool cat::bombay::Table::StartIndexing |
( |
| ) |
[protected] |
| bool cat::bombay::Table::StartIndexingRead |
( |
| ) |
[protected] |
| u64 cat::bombay::Table::UniqueIndexLookup |
( |
const void * |
data | ) |
[private] |
| void cat::bombay::Table::UnlinkNode |
( |
CacheNode * |
node | ) |
[protected] |
| bool cat::bombay::Table::Update |
( |
void * |
data, |
|
|
u64 |
offset |
|
) |
| |
Member Data Documentation
The documentation for this class was generated from the following file: