rasdaman complete source
Public Member Functions | Public Attributes | List of all members
ServerComm::ClientTblElt Class Reference

the class defines an entry of the client table More...

#include <servercomm.hh>

Public Member Functions

 ClientTblElt (const char *clientIdText, unsigned long clientId)
 default constructor More...
 
 ~ClientTblElt ()
 destructor More...
 
void release ()
 release client context More...
 
void endRequest ()
 
void releaseTransferStructures ()
 releases transfer collection/iterator More...
 

Public Attributes

unsigned long clientId
 unique client identification assigned by the server More...
 
unsigned int currentUsers
 counter indicating the number of current users More...
 
char * clientIdText
 binding information about the client (IP address and TCP port number) More...
 
char * userName
 Name of the client user name (if available) More...
 
char * baseName
 Name of the actual database (if one is open) More...
 
unsigned long creationTime
 time when the database was opened (for curiosity purposes) More...
 
unsigned long lastActionTime
 time of the client's last action (for garbage collection purposes) More...
 
r_Data_Format transferFormat
 convert raw array data to this data format before transfer More...
 
char * transferFormatParams
 
int exactFormat
 send data to client in the exact transfer format More...
 
r_Data_Format storageFormat
 store array data in this data format in the database More...
 
char * storageFormatParams
 
void * encodedData
 the tile data converted into the transfer format, if required More...
 
unsigned long encodedSize
 
unsigned long totalRawSize
 for establishing the compression ratio More...
 
unsigned long totalTransferedSize
 
MDDColltransferColl
 pointer to an MDD collection More...
 
MDDCollItertransferCollIter
 pointer to an iterator for collection transferColl More...
 
std::vector< QtData * > * transferData
 pointer to the query result which is currently in transfer More...
 
std::vector< QtData * >::iterator * transferDataIter
 point to an iterator for transfer data More...
 
MDDObjassembleMDD
 pointer to a persistent MDD object for tile based transfers More...
 
MDDObjtransferMDD
 pointer to an MDD object for tile base transfer More...
 
std::vector< Tile * > * transTiles
 std::vector storing tiles of actual MDD for transfer More...
 
std::vector< Tile * >::iterator * tileIter
 iterator for the std::vector above More...
 
std::vector< Tile * > * deletableTiles
 std::vector storing pointers to transient tiles More...
 
unsigned long bytesToTransfer
 bytes to transfer in actual tile (valid only if tile is larger than { MAXTRANSBYTES}) More...
 
std::vector< MDDColl * > * persMDDCollections
 std::vector of persistent MDD collections in use More...
 
DatabaseIf database
 object representing the actual database More...
 
TransactionIf transaction
 object representing the actual transaction (only one at a time possible) More...
 
RMTimertaTimer
 pointer to a timer for recording transaction time More...
 
RMTimertransferTimer
 pointer to a timer for recording transfer time More...
 
RMTimerevaluationTimer
 pointer to a timer for recording evaluation time More...
 
r_Parse_ParamsclientParams
 parameter object More...
 

Detailed Description

the class defines an entry of the client table

Constructor & Destructor Documentation

ServerComm::ClientTblElt::ClientTblElt ( const char *  clientIdText,
unsigned long  clientId 
)

default constructor

ServerComm::ClientTblElt::~ClientTblElt ( )

destructor

Default constructor that takes the information to be placed in the clientIdText field of the client table entry and the unique ID to be placed in the clientId field.

Member Function Documentation

void ServerComm::ClientTblElt::endRequest ( )

Releasing the client context means to decrease the currentUsers counter and to update lastActionTime.

void ServerComm::ClientTblElt::release ( )

release client context

void ServerComm::ClientTblElt::releaseTransferStructures ( )

releases transfer collection/iterator

Member Data Documentation

MDDObj* ServerComm::ClientTblElt::assembleMDD

pointer to a persistent MDD object for tile based transfers

char* ServerComm::ClientTblElt::baseName

Name of the actual database (if one is open)

unsigned long ServerComm::ClientTblElt::bytesToTransfer

bytes to transfer in actual tile (valid only if tile is larger than { MAXTRANSBYTES})

The tiles referenced by these pointers are border tiles dynamically created in getNextMDD(). They do not belong to any MDD object, and, therefore, they have to be deleted explicitly.

unsigned long ServerComm::ClientTblElt::clientId

unique client identification assigned by the server

The method releases transfer collection and iterator. As the collection is a persistent one, care has to be taken that creation and deletion is done within the same transaction.

char* ServerComm::ClientTblElt::clientIdText

binding information about the client (IP address and TCP port number)

r_Parse_Params* ServerComm::ClientTblElt::clientParams

parameter object

unsigned long ServerComm::ClientTblElt::creationTime

time when the database was opened (for curiosity purposes)

unsigned int ServerComm::ClientTblElt::currentUsers

counter indicating the number of current users

DatabaseIf ServerComm::ClientTblElt::database

object representing the actual database

std::vector< Tile* >* ServerComm::ClientTblElt::deletableTiles

std::vector storing pointers to transient tiles

void* ServerComm::ClientTblElt::encodedData

the tile data converted into the transfer format, if required

unsigned long ServerComm::ClientTblElt::encodedSize
RMTimer* ServerComm::ClientTblElt::evaluationTimer

pointer to a timer for recording evaluation time

int ServerComm::ClientTblElt::exactFormat

send data to client in the exact transfer format

unsigned long ServerComm::ClientTblElt::lastActionTime

time of the client's last action (for garbage collection purposes)

std::vector< MDDColl* >* ServerComm::ClientTblElt::persMDDCollections

std::vector of persistent MDD collections in use

r_Data_Format ServerComm::ClientTblElt::storageFormat

store array data in this data format in the database

char* ServerComm::ClientTblElt::storageFormatParams
RMTimer* ServerComm::ClientTblElt::taTimer

pointer to a timer for recording transaction time

std::vector< Tile* >::iterator* ServerComm::ClientTblElt::tileIter

iterator for the std::vector above

unsigned long ServerComm::ClientTblElt::totalRawSize

for establishing the compression ratio

unsigned long ServerComm::ClientTblElt::totalTransferedSize
TransactionIf ServerComm::ClientTblElt::transaction

object representing the actual transaction (only one at a time possible)

MDDColl* ServerComm::ClientTblElt::transferColl

pointer to an MDD collection

MDDCollIter* ServerComm::ClientTblElt::transferCollIter

pointer to an iterator for collection transferColl

For collection of MDD constants with an update query.

std::vector<QtData*>* ServerComm::ClientTblElt::transferData

pointer to the query result which is currently in transfer

std::vector<QtData*>::iterator* ServerComm::ClientTblElt::transferDataIter

point to an iterator for transfer data

For the result of the last query (NULL if the result is completely delivered to the client).

r_Data_Format ServerComm::ClientTblElt::transferFormat

convert raw array data to this data format before transfer

char* ServerComm::ClientTblElt::transferFormatParams
MDDObj* ServerComm::ClientTblElt::transferMDD

pointer to an MDD object for tile base transfer

RMTimer* ServerComm::ClientTblElt::transferTimer

pointer to a timer for recording transfer time

std::vector< Tile* >* ServerComm::ClientTblElt::transTiles

std::vector storing tiles of actual MDD for transfer

char* ServerComm::ClientTblElt::userName

Name of the client user name (if available)


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