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

#include <DistributedStorageManagerServer.h>

+ Inheritance diagram for pdb::DistributedStorageManagerServer:
+ Collaboration diagram for pdb::DistributedStorageManagerServer:

Public Member Functions

 DistributedStorageManagerServer (PDBLoggerPtr logger, ConfigurationPtr conf, std::shared_ptr< StatisticsDB > statisticsDB)
 
 DistributedStorageManagerServer (PDBLoggerPtr logger, std::shared_ptr< StatisticsDB > statisticsDB)
 
 ~DistributedStorageManagerServer ()
 
void registerHandlers (PDBServer &forMe) override
 
- Public Member Functions inherited from pdb::BroadcastServer
 BroadcastServer (PDBLoggerPtr logger, ConfigurationPtr conf)
 
 BroadcastServer (PDBLoggerPtr logger)
 
 ~BroadcastServer ()
 
template<class MsgType , class PayloadType , class ResponseType >
void broadcast (Handle< MsgType > broadcastMsg, Handle< Vector< Handle< PayloadType >>> broadCastData, std::vector< std::string > receivers, std::function< void(Handle< ResponseType >, std::string)> successCallBack, std::function< void(std::string, std::string)> errorCallBack=[](std::string errMsg, std::string serverName){})
 
- 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

bool findNodesForDatabase (const std::string &databaseName, std::vector< std::string > &nodesForDatabase, std::string &errMsg)
 
bool findNodesContainingDatabase (const std::string &databaseName, std::vector< std::string > &nodesContainingDatabase, std::string &errMsg)
 
bool findNodesForSet (const std::string &databaseName, const std::string &setName, std::vector< std::string > &nodesContainingSet, std::string &errMsg)
 
bool findNodesContainingSet (const std::string &databaseName, const std::string &setName, std::vector< std::string > &nodesContainingSet, std::string &errMsg)
 
std::function< void(Handle
< SimpleRequestResult >
, std::string)> 
generateAckHandler (std::vector< std::string > &success, std::vector< std::string > &failures, mutex &lock)
 

Private Attributes

std::shared_ptr< StatisticsDBstatisticsDB
 

Additional Inherited Members

- Protected Attributes inherited from pdb::BroadcastServer
PDBLoggerPtr logger
 
ConfigurationPtr conf
 
pthread_mutex_t connection_mutex
 

Detailed Description

Definition at line 46 of file DistributedStorageManagerServer.h.

Constructor & Destructor Documentation

pdb::DistributedStorageManagerServer::DistributedStorageManagerServer ( PDBLoggerPtr  logger,
ConfigurationPtr  conf,
std::shared_ptr< StatisticsDB statisticsDB 
)

Definition at line 66 of file DistributedStorageManagerServer.cc.

pdb::DistributedStorageManagerServer::DistributedStorageManagerServer ( PDBLoggerPtr  logger,
std::shared_ptr< StatisticsDB statisticsDB 
)

Definition at line 74 of file DistributedStorageManagerServer.cc.

pdb::DistributedStorageManagerServer::~DistributedStorageManagerServer ( )

Definition at line 81 of file DistributedStorageManagerServer.cc.

Member Function Documentation

bool pdb::DistributedStorageManagerServer::findNodesContainingDatabase ( const std::string &  databaseName,
std::vector< std::string > &  nodesContainingDatabase,
std::string &  errMsg 
)
private

Definition at line 1089 of file DistributedStorageManagerServer.cc.

+ Here is the caller graph for this function:

bool pdb::DistributedStorageManagerServer::findNodesContainingSet ( const std::string &  databaseName,
const std::string &  setName,
std::vector< std::string > &  nodesContainingSet,
std::string &  errMsg 
)
private

Definition at line 1141 of file DistributedStorageManagerServer.cc.

+ Here is the caller graph for this function:

bool pdb::DistributedStorageManagerServer::findNodesForDatabase ( const std::string &  databaseName,
std::vector< std::string > &  nodesForDatabase,
std::string &  errMsg 
)
private

Definition at line 1060 of file DistributedStorageManagerServer.cc.

+ Here is the call graph for this function:

bool pdb::DistributedStorageManagerServer::findNodesForSet ( const std::string &  databaseName,
const std::string &  setName,
std::vector< std::string > &  nodesContainingSet,
std::string &  errMsg 
)
private

Definition at line 1115 of file DistributedStorageManagerServer.cc.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::function< void(Handle< SimpleRequestResult >, std::string)> pdb::DistributedStorageManagerServer::generateAckHandler ( std::vector< std::string > &  success,
std::vector< std::string > &  failures,
mutex &  lock 
)
private

Definition at line 1039 of file DistributedStorageManagerServer.cc.

+ Here is the caller graph for this function:

void pdb::DistributedStorageManagerServer::registerHandlers ( PDBServer forMe)
overridevirtual

Handler that distributes an add database request

Reimplemented from pdb::BroadcastServer.

Definition at line 85 of file DistributedStorageManagerServer.cc.

+ Here is the call graph for this function:

Member Data Documentation

std::shared_ptr<StatisticsDB> pdb::DistributedStorageManagerServer::statisticsDB
private

Definition at line 60 of file DistributedStorageManagerServer.h.


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