tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
BoostingList Class Referenceabstract

#include <boostinglist.h>

Collaboration diagram for BoostingList:

Classes

struct  Operation
 

Public Types

enum  ReturnCode { OK = 0, LOCK_FAIL, OP_FAIL }
 

Public Member Functions

 ~BoostingList ()
 
void Init ()
 
void Uninit ()
 
ReturnCode Insert (uint32_t key)
 
ReturnCode Delete (uint32_t key)
 
ReturnCode Find (uint32_t key)
 
void OnAbort (ReturnCode ret)
 
void OnCommit ()
 
void Print ()
 

Private Types

enum  OpType { FIND = 0, INSERT, DELETE }
 
typedef std::vector< OperationLogType
 

Private Member Functions

 ASSERT_CODE (uint32_t g_count=0;uint32_t g_count_ins=0;uint32_t g_count_del=0;uint32_t g_count_fnd=0;) uint32_t g_count_commit=0
 

Private Attributes

LockfreeList m_list
 
LockKey m_lock
 
uint32_t g_count_abort = 0
 
uint32_t g_count_fake_abort = 0
 

Static Private Attributes

static __thread LogTypem_log
 

Member Typedef Documentation

typedef std::vector<Operation> BoostingList::LogType
private

Member Enumeration Documentation

enum BoostingList::OpType
private
Enumerator
FIND 
INSERT 
DELETE 
Enumerator
OK 
LOCK_FAIL 
OP_FAIL 

Constructor & Destructor Documentation

BoostingList::~BoostingList ( )

Here is the call graph for this function:

Member Function Documentation

BoostingList::ASSERT_CODE ( uint32_t  g_count = 0;uint32_t g_count_ins=0;uint32_t g_count_del=0;uint32_t g_count_fnd=0;)
privatepure virtual

Here is the caller graph for this function:

BoostingList::ReturnCode BoostingList::Delete ( uint32_t  key)

Here is the call graph for this function:

BoostingList::ReturnCode BoostingList::Find ( uint32_t  key)

Here is the call graph for this function:

void BoostingList::Init ( )

Here is the call graph for this function:

BoostingList::ReturnCode BoostingList::Insert ( uint32_t  key)

Here is the call graph for this function:

void BoostingList::OnAbort ( ReturnCode  ret)

Here is the call graph for this function:

void BoostingList::OnCommit ( )

Here is the call graph for this function:

void BoostingList::Print ( )

Here is the call graph for this function:

void BoostingList::Uninit ( )

Here is the call graph for this function:

Member Data Documentation

uint32_t BoostingList::g_count_abort = 0
private
uint32_t BoostingList::g_count_fake_abort = 0
private
LockfreeList BoostingList::m_list
private
LockKey BoostingList::m_lock
private
__thread BoostingList::LogType * BoostingList::m_log
staticprivate

The documentation for this class was generated from the following files: