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
PDBObject Class Reference

#include <PDBObject.h>

+ Collaboration diagram for PDBObject:

Public Member Functions

 PDBObject ()
 
 PDBObject (void *dataIn, DatabaseID dbId, UserTypeID typeId, SetID setId, size_t dataSize)
 
 ~PDBObject ()
 
void freeObject ()
 
void * getRaw () const
 
size_t getSize () const
 
size_t getShmOffset () const
 
UserTypeID getSetID () const
 
UserTypeID getTypeID () const
 
DatabaseID getDatabaseID () const
 
void setRaw (void *data)
 
void setSize (size_t size)
 
void setShmOffset (size_t size)
 
void setSetID (SetID setId)
 
void setTypeID (UserTypeID typeId)
 
void setDatabaseID (DatabaseID dbId)
 

Private Attributes

void * rawBytes
 
DatabaseID dbId
 
UserTypeID typeId
 
SetID setId
 
size_t size
 
size_t shmOffset
 

Detailed Description

This class implements PDBObject that treats Object as a piece of raw data. The class also provide meta information about this raw data, such as size, databaseId, typeId, setId, offset in shared memory and so on. We use PDBObject at server side. Once we receive pdb::object from client or server, we treat it as raw data and encapsulate it into a PDBObject instance.

Definition at line 38 of file PDBObject.h.

Constructor & Destructor Documentation

PDBObject::PDBObject ( )

Definition at line 25 of file PDBObject.cc.

PDBObject::PDBObject ( void *  dataIn,
DatabaseID  dbId,
UserTypeID  typeId,
SetID  setId,
size_t  dataSize 
)

Definition at line 34 of file PDBObject.cc.

PDBObject::~PDBObject ( )

Definition at line 45 of file PDBObject.cc.

+ Here is the call graph for this function:

Member Function Documentation

void PDBObject::freeObject ( )

Definition at line 49 of file PDBObject.cc.

+ Here is the caller graph for this function:

DatabaseID PDBObject::getDatabaseID ( ) const
inline

Definition at line 84 of file PDBObject.h.

void* PDBObject::getRaw ( ) const
inline

Simple getters/setters.

Definition at line 59 of file PDBObject.h.

UserTypeID PDBObject::getSetID ( ) const
inline

Definition at line 74 of file PDBObject.h.

size_t PDBObject::getShmOffset ( ) const
inline

Definition at line 69 of file PDBObject.h.

size_t PDBObject::getSize ( ) const
inline

Definition at line 64 of file PDBObject.h.

UserTypeID PDBObject::getTypeID ( ) const
inline

Definition at line 79 of file PDBObject.h.

void PDBObject::setDatabaseID ( DatabaseID  dbId)
inline

Definition at line 114 of file PDBObject.h.

void PDBObject::setRaw ( void *  data)
inline

Definition at line 89 of file PDBObject.h.

void PDBObject::setSetID ( SetID  setId)
inline

Definition at line 104 of file PDBObject.h.

void PDBObject::setShmOffset ( size_t  size)
inline

Definition at line 99 of file PDBObject.h.

void PDBObject::setSize ( size_t  size)
inline

Definition at line 94 of file PDBObject.h.

void PDBObject::setTypeID ( UserTypeID  typeId)
inline

Definition at line 109 of file PDBObject.h.

Member Data Documentation

DatabaseID PDBObject::dbId
private

Definition at line 120 of file PDBObject.h.

void* PDBObject::rawBytes
private

Definition at line 119 of file PDBObject.h.

SetID PDBObject::setId
private

Definition at line 122 of file PDBObject.h.

size_t PDBObject::shmOffset
private

Definition at line 124 of file PDBObject.h.

size_t PDBObject::size
private

Definition at line 123 of file PDBObject.h.

UserTypeID PDBObject::typeId
private

Definition at line 121 of file PDBObject.h.


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