InfiniSQL  v0.1.2-alpha
Massive Scale Transaction Processing
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MessageSubtransactionCmd Class Reference

Message variant for subtransactions. More...

#include <Message.h>

Inheritance diagram for MessageSubtransactionCmd:
Collaboration diagram for MessageSubtransactionCmd:

Classes

struct  subtransaction_s
 MessageSubtransactionCmd POD (serializable by memcpy) data members. More...
 

Public Member Functions

 MessageSubtransactionCmd ()
 
virtual ~MessageSubtransactionCmd ()
 
size_t size ()
 get Message size More...
 
string * ser ()
 create string with serialized message More...
 
void package (class SerializedMessage &serobj)
 serialize this More...
 
void unpack (SerializedMessage &serobj)
 deserialize into this More...
 
void clear ()
 clear contents of this More...
 
- Public Member Functions inherited from MessageTransaction
 MessageTransaction ()
 
virtual ~MessageTransaction ()
 
size_t size ()
 get Message size More...
 
string * ser ()
 create string with serialized message More...
 
void package (class SerializedMessage &serobj)
 serialize this More...
 
void unpack (SerializedMessage &serobj)
 deserialize into this More...
 
void clear ()
 clear contents of this More...
 
- Public Member Functions inherited from Message
 Message ()
 
virtual ~Message ()
 
size_t size ()
 get Message size More...
 
std::string * ser ()
 create string with serialized message More...
 
void package (class SerializedMessage &serobj)
 serialize this More...
 
void unpack (SerializedMessage &serobj)
 deserialize into this More...
 
void clear ()
 clear contents of this More...
 
string * sermsg ()
 return serialized Message variant string More...
 
void setEnvelope (const Topology::addressStruct &source, const Topology::addressStruct &dest, class Message &msg)
 put addresses in Message variant envelope More...
 

Public Attributes

subtransaction_s subtransactionStruct
 
std::string row
 
fieldValue_s fieldVal
 
std::vector
< nonLockingIndexEntry_s
indexHits
 
searchParams_s searchParameters
 
std::vector< int64_t > rowids
 
std::vector< returnRow_sreturnRows
 
- Public Attributes inherited from MessageTransaction
transaction_s transactionStruct
 
- Public Attributes inherited from Message
__int128 nextmsg
 
message_s messageStruct
 

Additional Inherited Members

- Static Public Member Functions inherited from Message
static class Messagedes (string *serstr)
 deserialize entire message More...
 

Detailed Description

Message variant for subtransactions.

Returns

Definition at line 439 of file Message.h.

Constructor & Destructor Documentation

MessageSubtransactionCmd::MessageSubtransactionCmd ( )

Definition at line 432 of file Message.cc.

Referenced by SubTransaction::drainIndexLockQueue(), and SubTransaction::drainRowLockQueue().

432  :
434 {
435 }

Here is the caller graph for this function:

MessageSubtransactionCmd::~MessageSubtransactionCmd ( )
virtual

Definition at line 437 of file Message.cc.

438 {
439 }

Member Function Documentation

void MessageSubtransactionCmd::clear ( )

clear contents of this

Definition at line 489 of file Message.cc.

References MessageTransaction::clear(), fieldVal, indexHits, returnRows, row, rowids, searchParameters, and subtransactionStruct.

490 {
493  row.clear();
494  fieldVal={};
495  indexHits.clear();
496  searchParameters={};
497  rowids.clear();
498  returnRows.clear();
499 }

Here is the call graph for this function:

void MessageSubtransactionCmd::package ( class SerializedMessage serobj)

serialize this

Parameters
serobjSerializedMessage

Definition at line 465 of file Message.cc.

References fieldVal, indexHits, MessageTransaction::package(), returnRows, row, rowids, searchParameters, SerializedMessage::ser(), and subtransactionStruct.

Referenced by ser().

466 {
468  serobj.ser(subtransactionStruct);
469  serobj.ser(row);
470  serobj.ser(fieldVal);
471  serobj.ser(indexHits);
472  serobj.ser(searchParameters);
473  serobj.ser(rowids);
474  serobj.ser(returnRows);
475 }

Here is the call graph for this function:

Here is the caller graph for this function:

string * MessageSubtransactionCmd::ser ( )

create string with serialized message

Returns
serialized message string

Definition at line 453 of file Message.cc.

References SerializedMessage::data, SerializedMessage::getpayloadtype(), logfile, package(), and SerializedMessage::pos.

454 {
455  class SerializedMessage serobj(size());
456  package(serobj);
457  if (serobj.data->size() != serobj.pos)
458  {
459  fprintf(logfile, "%s %i ser %i size %lu pos %lu\n", __FILE__, __LINE__,
460  serobj.getpayloadtype(), serobj.data->size(), serobj.pos);
461  }
462  return serobj.data;
463 }

Here is the call graph for this function:

size_t MessageSubtransactionCmd::size ( )
void MessageSubtransactionCmd::unpack ( SerializedMessage serobj)

deserialize into this

Parameters
serobjSerializedMessage

Definition at line 477 of file Message.cc.

References SerializedMessage::des(), fieldVal, indexHits, returnRows, row, rowids, searchParameters, subtransactionStruct, and MessageTransaction::unpack().

Referenced by Message::des().

478 {
480  serobj.des(subtransactionStruct);
481  serobj.des(row);
482  serobj.des(fieldVal);
483  serobj.des(indexHits);
484  serobj.des(searchParameters);
485  serobj.des(rowids);
486  serobj.des(returnRows);
487 }

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation


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