InfiniSQL
v0.1.2-alpha
Massive Scale Transaction Processing
|
On replicas, this class replicates "applies" transactions received by TransactionAgent. More...
#include <Applier.h>
Public Member Functions | |
Applier (class TransactionAgent *taPtrarg, int64_t domainidarg, Topology::addressStruct sourceAddrarg, int64_t partitionidarg) | |
virtual | ~Applier () |
void | ackedApply (class MessageAckApply &msg) |
Public Attributes | |
int64_t | applierid |
class TransactionAgent * | taPtr |
int64_t | domainid |
Topology::addressStruct | sourceAddr |
int64_t | partitioncount |
On replicas, this class replicates "applies" transactions received by TransactionAgent.
The receiving TransactionAgent begins the process by sending data to each Engine, and then creating an Applier object and putting it in a map. Engines apply replicated transaction data in strict order based on subtransactionid.
Applier::Applier | ( | class TransactionAgent * | taPtrarg, |
int64_t | domainidarg, | ||
Topology::addressStruct | sourceAddrarg, | ||
int64_t | partitionidarg | ||
) |
Creates Applier Object. This is created to keep state of a transaction being replicated.
taPtrarg | pointer to calling TransactionAgent |
domainidarg | domainid |
sourceAddrarg | address of master TransactionAgent |
partitionidarg | partitionid |
Definition at line 39 of file Applier.cc.
References applierid, TransactionAgent::Appliers, and TransactionAgent::getnextapplierid().
|
virtual |
Definition at line 49 of file Applier.cc.
void Applier::ackedApply | ( | class MessageAckApply & | msg) |
handles replies from Engines that have applied transaction replication. Counts down and deletes Applier object when all replies have been received
msg |
Definition at line 53 of file Applier.cc.
References MessageAckApply::ackapplyStruct, applierid, MessageAckApply::ackapply_s::applierid, TransactionAgent::Appliers, partitioncount, MessageAckApply::ackapply_s::partitionid, MessageAckApply::ackapply_s::status, STATUS_OK, and MessageAckApply::ackapply_s::subtransactionid.
int64_t Applier::applierid |
Definition at line 70 of file Applier.h.
Referenced by ackedApply(), and Applier().
int64_t Applier::partitioncount |
Definition at line 74 of file Applier.h.
Referenced by ackedApply().
Topology::addressStruct Applier::sourceAddr |
class TransactionAgent* Applier::taPtr |