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::PDBDistributionManager Class Reference

#include <PDBDistributionManager.h>

+ Collaboration diagram for pdb::PDBDistributionManager:

Public Member Functions

 PDBDistributionManager ()
 
 ~PDBDistributionManager ()
 
bool addOrUpdateNodes (PDBLoggerPtr myLoggerIn, string &nodeID)
 
string getSingleNode ()
 
string getPermitToRunQuery (PDBLoggerPtr myLoggerIn)
 
int queryIsDone (string &queryID, PDBLoggerPtr myLoggerIn)
 
unordered_map< string, long > & getUpNodesOfCluster ()
 
int getNoOfNodes ()
 
void setNodesOfCluster (const unordered_map< string, long > &nodesOfCluster)
 
string & getQueryPlannerPlace ()
 
void setQueryPlannerPlace (string &queryPlannerPlace)
 

Private Attributes

unordered_map< string, long > nodesOfCluster
 
int heartBeatCounter
 
string queryPlannerPlace
 
map< string, long > runningQueries
 
pthread_mutex_t writeLock
 

Detailed Description

Definition at line 58 of file PDBDistributionManager.h.

Constructor & Destructor Documentation

pdb::PDBDistributionManager::PDBDistributionManager ( )

Definition at line 56 of file PDBDistributionManager.cc.

pdb::PDBDistributionManager::~PDBDistributionManager ( )

Definition at line 61 of file PDBDistributionManager.cc.

Member Function Documentation

bool pdb::PDBDistributionManager::addOrUpdateNodes ( PDBLoggerPtr  myLoggerIn,
string &  nodeID 
)

Definition at line 63 of file PDBDistributionManager.cc.

int pdb::PDBDistributionManager::getNoOfNodes ( )
inline

Definition at line 87 of file PDBDistributionManager.h.

string pdb::PDBDistributionManager::getPermitToRunQuery ( PDBLoggerPtr  myLoggerIn)

This method provides permission to run a query on the PDB cluster. It generates a GUID as query ID as a string and returns it to the query executor.

Definition at line 123 of file PDBDistributionManager.cc.

string& pdb::PDBDistributionManager::getQueryPlannerPlace ( )
inline

Definition at line 95 of file PDBDistributionManager.h.

string pdb::PDBDistributionManager::getSingleNode ( )
unordered_map<string, long>& pdb::PDBDistributionManager::getUpNodesOfCluster ( )
inline

Definition at line 83 of file PDBDistributionManager.h.

int pdb::PDBDistributionManager::queryIsDone ( string &  queryID,
PDBLoggerPtr  logToMe 
)

This is called when a query is done. Returns 1 if it can find the query in memory and removes 0 when it has no data about this query.

Definition at line 157 of file PDBDistributionManager.cc.

void pdb::PDBDistributionManager::setNodesOfCluster ( const unordered_map< string, long > &  nodesOfCluster)
inline

Definition at line 91 of file PDBDistributionManager.h.

void pdb::PDBDistributionManager::setQueryPlannerPlace ( string &  queryPlannerPlace)
inline

Definition at line 99 of file PDBDistributionManager.h.

Member Data Documentation

int pdb::PDBDistributionManager::heartBeatCounter
private

Definition at line 110 of file PDBDistributionManager.h.

unordered_map<string, long> pdb::PDBDistributionManager::nodesOfCluster
private

Definition at line 105 of file PDBDistributionManager.h.

string pdb::PDBDistributionManager::queryPlannerPlace
private

Definition at line 113 of file PDBDistributionManager.h.

map<string, long> pdb::PDBDistributionManager::runningQueries
private

Definition at line 118 of file PDBDistributionManager.h.

pthread_mutex_t pdb::PDBDistributionManager::writeLock
private

Definition at line 121 of file PDBDistributionManager.h.


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