Zero  0.1.0
Public Member Functions | Public Attributes | Private Member Functions | List of all members
lil_private_vol_table Class Reference

LIL private lock table to remember Volume locks and Stores in it. More...

#include <lock_lil.h>

Public Member Functions

 lil_private_vol_table ()
 
 ~lil_private_vol_table ()
 
void clear ()
 
w_rc_t acquire_store_lock (lil_global_table *global_table, const StoreID &stid, lil_lock_modes_t mode)
 
void release_vol_locks (lil_global_table *global_table, bool read_lock_only=false, lsn_t commit_lsn=lsn_t::null)
 

Public Attributes

uint16_t _vid
 
uint16_t _stores
 
bool _lock_taken [LIL_MODES]
 
lil_private_store_table _store_tables [MAX_STORE_PER_VOL_XCT]
 

Private Member Functions

lil_private_store_table_find_store_table (uint32_t store)
 

Detailed Description

LIL private lock table to remember Volume locks and Stores in it.

Constructor & Destructor Documentation

§ lil_private_vol_table()

lil_private_vol_table::lil_private_vol_table ( )
inline

§ ~lil_private_vol_table()

lil_private_vol_table::~lil_private_vol_table ( )
inline

Member Function Documentation

§ _find_store_table()

lil_private_store_table * lil_private_vol_table::_find_store_table ( uint32_t  store)
private

§ acquire_store_lock()

w_rc_t lil_private_vol_table::acquire_store_lock ( lil_global_table global_table,
const StoreID stid,
lil_lock_modes_t  mode 
)

Get a lock on store.

Parameters
[in]global_tableaccesses this global table to acuiqre lock
[in]stidID of the store to access
[in]modelock mode

§ clear()

void lil_private_vol_table::clear ( )
inline

§ release_vol_locks()

void lil_private_vol_table::release_vol_locks ( lil_global_table global_table,
bool  read_lock_only = false,
lsn_t  commit_lsn = lsn_t::null 
)

Release all locks acquired for this volume. This never fails or takes long time.

Parameters
[in]read_lock_onlyif true, releases only read locks. default false.

Member Data Documentation

§ _lock_taken

bool lil_private_vol_table::_lock_taken[LIL_MODES]

§ _store_tables

lil_private_store_table lil_private_vol_table::_store_tables[MAX_STORE_PER_VOL_XCT]

§ _stores

uint16_t lil_private_vol_table::_stores

§ _vid

uint16_t lil_private_vol_table::_vid

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