A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::VTableMap Class Reference

#include <VTableMap.h>

+ Collaboration diagram for pdb::VTableMap:

Public Member Functions

 VTableMap ()
 
 ~VTableMap ()
 

Static Public Member Functions

static void setLogger (PDBLoggerPtr myLoggerIn)
 
static int16_t getIDByName (std::string objectName, bool withLock=true)
 
static void * getVTablePtr (int16_t objectTypeID)
 
static void * getVTablePtrUsingCatalog (int16_t objectTypeID)
 
static void listVtableEntries ()
 
static void listVtableLabels ()
 
static int16_t lookupTypeNameInCatalog (std::string objectTypeName)
 
static int16_t lookupBuiltInType (std::string objectTypeName)
 
static std::string lookupBuiltInType (int16_t)
 
static int totalBuiltInObjects ()
 
static void setCatalogClient (CatalogClient *catalog)
 
static CatalogClientgetCatalogClient ()
 

Private Attributes

std::map< std::string, int16_t > objectTypeNamesList
 
std::vector< void * > allVTables
 
CatalogClientcatalog
 
PDBLoggerPtr logger
 
pthread_mutex_t myLock
 
std::vector< void * > so_handles
 

Detailed Description

VTableMap is a helper class for maintaining information about registered user-defined types and metrics in an instance of PDB. Entries are stored as VTableMapEntry objects in two std::maps 1) indexed by objectID, and 2) indexed by objectName. Clients of this class will access this information using a handler to the catalog.

Definition at line 52 of file VTableMap.h.

Constructor & Destructor Documentation

pdb::VTableMap::VTableMap ( )

Definition at line 41 of file VTableMapConstructor.cc.

pdb::VTableMap::~VTableMap ( )
inline

Definition at line 206 of file VTableMap.cc.

Member Function Documentation

CatalogClient * pdb::VTableMap::getCatalogClient ( )
inlinestatic

Definition at line 193 of file VTableMap.cc.

+ Here is the caller graph for this function:

int16_t pdb::VTableMap::getIDByName ( std::string  objectName,
bool  withLock = true 
)
inlinestatic

Definition at line 90 of file VTableMap.cc.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void * pdb::VTableMap::getVTablePtr ( int16_t  objectTypeID)
inlinestatic

Definition at line 224 of file VTableMap.cc.

+ Here is the call graph for this function:

void * pdb::VTableMap::getVTablePtrUsingCatalog ( int16_t  objectTypeID)
static

Definition at line 33 of file VTableMapCatalogLookup.cc.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void pdb::VTableMap::listVtableEntries ( )
inlinestatic

Definition at line 74 of file VTableMap.cc.

void pdb::VTableMap::listVtableLabels ( )
inlinestatic

Definition at line 81 of file VTableMap.cc.

int16_t pdb::VTableMap::lookupBuiltInType ( std::string  objectTypeName)
inlinestatic

Definition at line 41 of file VTableMap.cc.

+ Here is the caller graph for this function:

std::string pdb::VTableMap::lookupBuiltInType ( int16_t  objectType)
inlinestatic

Definition at line 51 of file VTableMap.cc.

int16_t pdb::VTableMap::lookupTypeNameInCatalog ( std::string  objectTypeName)
static

Definition at line 139 of file VTableMapCatalogLookup.cc.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void pdb::VTableMap::setCatalogClient ( CatalogClient catalog)
inlinestatic

Definition at line 180 of file VTableMap.cc.

+ Here is the caller graph for this function:

static void pdb::VTableMap::setLogger ( PDBLoggerPtr  myLoggerIn)
static
int pdb::VTableMap::totalBuiltInObjects ( )
inlinestatic

Definition at line 64 of file VTableMap.cc.

Member Data Documentation

std::vector<void*> pdb::VTableMap::allVTables
private

Definition at line 99 of file VTableMap.h.

CatalogClient* pdb::VTableMap::catalog
private

Definition at line 102 of file VTableMap.h.

PDBLoggerPtr pdb::VTableMap::logger
private

Definition at line 105 of file VTableMap.h.

pthread_mutex_t pdb::VTableMap::myLock
private

Definition at line 108 of file VTableMap.h.

std::map<std::string, int16_t> pdb::VTableMap::objectTypeNamesList
private

Definition at line 96 of file VTableMap.h.

std::vector<void*> pdb::VTableMap::so_handles
private

Definition at line 111 of file VTableMap.h.


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