edits
[iotcloud.git] / version2 / src / C / Transaction.h
index f18bd70f6e0db72add125e1370a3f7e94ccaff7e..240c535251c8221df99989e72106e273bef76727 100644 (file)
@@ -5,7 +5,8 @@
 
 class Transaction {
 private:
 
 class Transaction {
 private:
-       Hashtable<int32_t, TransactionPart *> *parts;
+       Vector<TransactionPart *> *parts;
+       uint partCount;
        Hashset<int32_t> *missingParts;
        Vector<int32_t> *partsPendingSend;
        bool fldisComplete;
        Hashset<int32_t> *missingParts;
        Vector<int32_t> *partsPendingSend;
        bool fldisComplete;
@@ -17,7 +18,7 @@ private:
        int64_t clientLocalSequenceNumber;
        int64_t arbitratorId;
        int64_t machineId;
        int64_t clientLocalSequenceNumber;
        int64_t arbitratorId;
        int64_t machineId;
-       Pair<int64_t, int64_t> *transactionId;
+       Pair<int64_t, int64_t> transactionId;
        int nextPartToSend;
        bool flddidSendAPartToServer;
        TransactionStatus *transactionStatus;
        int nextPartToSend;
        bool flddidSendAPartToServer;
        TransactionStatus *transactionStatus;
@@ -33,7 +34,7 @@ public:
        int64_t getSequenceNumber();
        void setSequenceNumber(int64_t _sequenceNumber);
        int64_t getClientLocalSequenceNumber();
        int64_t getSequenceNumber();
        void setSequenceNumber(int64_t _sequenceNumber);
        int64_t getClientLocalSequenceNumber();
-       Hashtable<int32_t, TransactionPart *> *getParts();
+       Vector<TransactionPart *> *getParts();
        bool didSendAPartToServer();
        void resetNextPartToSend();
        TransactionPart *getNextPartToSend();
        bool didSendAPartToServer();
        void resetNextPartToSend();
        TransactionPart *getNextPartToSend();
@@ -49,7 +50,7 @@ public:
        int64_t getMachineId();
        int64_t getArbitrator();
        bool isComplete();
        int64_t getMachineId();
        int64_t getArbitrator();
        bool isComplete();
-       Pair<int64_t, int64_t> *getId();
+       Pair<int64_t, int64_t> * getId();
        void setDead();
        TransactionPart *getPart(int32_t index);
        bool evaluateGuard(Hashtable<IoTString *, KeyValue *> *committedKeyValueTable, Hashtable<IoTString *, KeyValue *> *speculatedKeyValueTable, Hashtable<IoTString *, KeyValue *> *pendingTransactionSpeculatedKeyValueTable);
        void setDead();
        TransactionPart *getPart(int32_t index);
        bool evaluateGuard(Hashtable<IoTString *, KeyValue *> *committedKeyValueTable, Hashtable<IoTString *, KeyValue *> *speculatedKeyValueTable, Hashtable<IoTString *, KeyValue *> *pendingTransactionSpeculatedKeyValueTable);