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

#include <PDBClient.h>

+ Inheritance diagram for pdb::PDBClient:
+ Collaboration diagram for pdb::PDBClient:

Public Member Functions

 PDBClient (int portIn, std::string addressIn)
 
 PDBClient ()
 
 ~PDBClient ()
 
void registerHandlers (PDBServer &forMe)
 
string getErrorMessage ()
 
bool createDatabase (const std::string &databaseName)
 
bool createSet (const std::string &databaseName, const std::string &setName, const std::string &typeName)
 
template<class DataType >
bool createSet (const std::string &databaseName, const std::string &setName)
 
bool createSet (const std::string &databaseName, const std::string &setName, const std::string &typeName, size_t pageSize=DEFAULT_PAGE_SIZE)
 
template<class DataType >
bool createSet (const std::string &databaseName, const std::string &setName, size_t pageSize)
 
bool createTempSet (const std::string &databaseName, const std::string &setName, const std::string &typeName, size_t pageSize=DEFAULT_PAGE_SIZE)
 
template<class KeyClass , class ValueClass >
bool partitionSet (std::pair< std::string, std::string > inputSet, std::pair< std::string, std::string > outputSet, Handle< PartitionComp< KeyClass, ValueClass >> partitionComp)
 
template<class KeyClass , class ValueClass >
bool partitionAndTransformSet (std::pair< std::string, std::string > inputSet, std::pair< std::string, std::string > outputSet, Handle< PartitionTransformationComp< KeyClass, ValueClass >> partitionComp)
 
bool flushData ()
 
bool removeDatabase (const std::string &databaseName)
 
bool removeSet (const std::string &databaseName, const std::string &setName)
 
bool clearSet (const std::string &databaseName, const std::string &setName, const std::string &typeName)
 
bool removeTempSet (const std::string &databaseName, const std::string &setName, const std::string &typeName)
 
bool exportSet (const std::string &databaseName, const std::string &setName, const std::string &outputFilePath, const std::string &format)
 
bool registerType (std::string fileContainingSharedLib)
 
bool registerNode (string &localIP, int localPort, string &nodeName, string &nodeType, int nodeStatus)
 
void printCatalogMetadata (pdb::Handle< pdb::CatalogPrintMetadata > itemToSearch)
 
void listAllRegisteredMetadata ()
 
void listRegisteredDatabases ()
 
void listRegisteredSetsForADatabase (std::string databaseName)
 
void listNodesInCluster ()
 
void listUserDefinedTypes ()
 
bool registerSet (std::pair< std::string, std::string > setAndDatabase, PartitionPolicy::Policy policy)
 
template<class DataType >
bool sendData (std::pair< std::string, std::string > setAndDatabase, Handle< Vector< Handle< DataType >>> dataToSend)
 
template<class DataType >
bool sendBytes (std::pair< std::string, std::string > setAndDatabase, char *bytes, size_t numBytes)
 
template<class... Types>
bool executeComputations (Handle< Computation > firstParam, Handle< Types >...args)
 
bool deleteSet (std::string databaseName, std::string setName)
 
template<class Type >
SetIterator< Type > getSetIterator (std::string databaseName, std::string setName)
 
- Public Member Functions inherited from pdb::ServerFunctionality
virtual void cleanup ()
 
template<class Functionality >
Functionality & getFunctionality ()
 
void recordServer (PDBServer &recordMe)
 
PDBWorkerPtr getWorker ()
 
PDBLoggerPtr getLogger ()
 

Private Member Functions

std::function< bool(Handle
< SimpleRequestResult >)> 
generateResponseHandler (std::string description, std::string &errMsg)
 

Private Attributes

std::shared_ptr
< pdb::CatalogClient
catalogClient
 
std::shared_ptr
< pdb::DispatcherClient
dispatcherClient
 
std::shared_ptr
< pdb::DistributedStorageManagerClient
distributedStorageClient
 
std::shared_ptr< pdb::QueryClientqueryClient
 
int port
 
std::string address
 
std::string errorMsg
 
std::string returnedMsg
 
PDBLoggerPtr logger
 

Detailed Description

Definition at line 48 of file PDBClient.h.

Constructor & Destructor Documentation

pdb::PDBClient::PDBClient ( int  portIn,
std::string  addressIn 
)

Definition at line 28 of file PDBClient.cc.

pdb::PDBClient::PDBClient ( )

Definition at line 26 of file PDBClient.cc.

pdb::PDBClient::~PDBClient ( )

Definition at line 59 of file PDBClient.cc.

Member Function Documentation

bool pdb::PDBClient::clearSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  typeName 
)

Definition at line 187 of file PDBClient.cc.

bool pdb::PDBClient::createDatabase ( const std::string &  databaseName)

Definition at line 70 of file PDBClient.cc.

bool pdb::PDBClient::createSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  typeName 
)

Definition at line 82 of file PDBClient.cc.

template<class DataType >
bool pdb::PDBClient::createSet ( const std::string &  databaseName,
const std::string &  setName 
)

Definition at line 42 of file PDBClientTemplate.cc.

bool pdb::PDBClient::createSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  typeName,
size_t  pageSize = DEFAULT_PAGE_SIZE 
)

Definition at line 99 of file PDBClient.cc.

template<class DataType >
bool pdb::PDBClient::createSet ( const std::string &  databaseName,
const std::string &  setName,
size_t  pageSize 
)

Definition at line 26 of file PDBClientTemplate.cc.

bool pdb::PDBClient::createTempSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  typeName,
size_t  pageSize = DEFAULT_PAGE_SIZE 
)

Definition at line 116 of file PDBClient.cc.

bool pdb::PDBClient::deleteSet ( std::string  databaseName,
std::string  setName 
)

Definition at line 316 of file PDBClient.cc.

template<class... Types>
bool pdb::PDBClient::executeComputations ( Handle< Computation firstParam,
Handle< Types >...  args 
)

Definition at line 94 of file PDBClientTemplate.cc.

bool pdb::PDBClient::exportSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  outputFilePath,
const std::string &  format 
)

Definition at line 171 of file PDBClient.cc.

bool pdb::PDBClient::flushData ( )

Definition at line 201 of file PDBClient.cc.

std::function< bool(Handle< SimpleRequestResult >)> pdb::PDBClient::generateResponseHandler ( std::string  description,
std::string &  errMsg 
)
private

Definition at line 214 of file PDBClient.cc.

string pdb::PDBClient::getErrorMessage ( )

Definition at line 63 of file PDBClient.cc.

template<class Type >
SetIterator< Type > pdb::PDBClient::getSetIterator ( std::string  databaseName,
std::string  setName 
)

Definition at line 107 of file PDBClientTemplate.cc.

void pdb::PDBClient::listAllRegisteredMetadata ( )

Definition at line 276 of file PDBClient.cc.

void pdb::PDBClient::listNodesInCluster ( )

Definition at line 288 of file PDBClient.cc.

void pdb::PDBClient::listRegisteredDatabases ( )

Definition at line 280 of file PDBClient.cc.

void pdb::PDBClient::listRegisteredSetsForADatabase ( std::string  databaseName)

Definition at line 284 of file PDBClient.cc.

void pdb::PDBClient::listUserDefinedTypes ( )

Definition at line 292 of file PDBClient.cc.

template<class KeyClass , class ValueClass >
bool pdb::PDBClient::partitionAndTransformSet ( std::pair< std::string, std::string >  inputSet,
std::pair< std::string, std::string >  outputSet,
Handle< PartitionTransformationComp< KeyClass, ValueClass >>  partitionComp 
)

Definition at line 125 of file PDBClientTemplate.cc.

template<class KeyClass , class ValueClass >
bool pdb::PDBClient::partitionSet ( std::pair< std::string, std::string >  inputSet,
std::pair< std::string, std::string >  outputSet,
Handle< PartitionComp< KeyClass, ValueClass >>  partitionComp 
)

Definition at line 114 of file PDBClientTemplate.cc.

void pdb::PDBClient::printCatalogMetadata ( pdb::Handle< pdb::CatalogPrintMetadata itemToSearch)

Definition at line 269 of file PDBClient.cc.

void pdb::PDBClient::registerHandlers ( PDBServer forMe)
virtual

Implements pdb::ServerFunctionality.

Definition at line 61 of file PDBClient.cc.

bool pdb::PDBClient::registerNode ( string &  localIP,
int  localPort,
string &  nodeName,
string &  nodeType,
int  nodeStatus 
)

Definition at line 235 of file PDBClient.cc.

+ Here is the call graph for this function:

bool pdb::PDBClient::registerSet ( std::pair< std::string, std::string >  setAndDatabase,
PartitionPolicy::Policy  policy 
)

Definition at line 300 of file PDBClient.cc.

bool pdb::PDBClient::registerType ( std::string  fileContainingSharedLib)

Definition at line 256 of file PDBClient.cc.

bool pdb::PDBClient::removeDatabase ( const std::string &  databaseName)

Definition at line 133 of file PDBClient.cc.

bool pdb::PDBClient::removeSet ( const std::string &  databaseName,
const std::string &  setName 
)

Definition at line 145 of file PDBClient.cc.

bool pdb::PDBClient::removeTempSet ( const std::string &  databaseName,
const std::string &  setName,
const std::string &  typeName 
)

Definition at line 157 of file PDBClient.cc.

template<class DataType >
bool pdb::PDBClient::sendBytes ( std::pair< std::string, std::string >  setAndDatabase,
char *  bytes,
size_t  numBytes 
)

Definition at line 74 of file PDBClientTemplate.cc.

template<class DataType >
bool pdb::PDBClient::sendData ( std::pair< std::string, std::string >  setAndDatabase,
Handle< Vector< Handle< DataType >>>  dataToSend 
)
Parameters
setAndDatabase
Returns

Definition at line 58 of file PDBClientTemplate.cc.

Member Data Documentation

std::string pdb::PDBClient::address
private

Definition at line 240 of file PDBClient.h.

std::shared_ptr<pdb::CatalogClient> pdb::PDBClient::catalogClient
private

Definition at line 228 of file PDBClient.h.

std::shared_ptr<pdb::DispatcherClient> pdb::PDBClient::dispatcherClient
private

Definition at line 229 of file PDBClient.h.

std::shared_ptr<pdb::DistributedStorageManagerClient> pdb::PDBClient::distributedStorageClient
private

Definition at line 230 of file PDBClient.h.

std::string pdb::PDBClient::errorMsg
private

Definition at line 243 of file PDBClient.h.

PDBLoggerPtr pdb::PDBClient::logger
private

Definition at line 249 of file PDBClient.h.

int pdb::PDBClient::port
private

Definition at line 237 of file PDBClient.h.

std::shared_ptr<pdb::QueryClient> pdb::PDBClient::queryClient
private

Definition at line 231 of file PDBClient.h.

std::string pdb::PDBClient::returnedMsg
private

Definition at line 246 of file PDBClient.h.


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