8 Hashtable<int32_t, TransactionPart *> *parts;
9 Hashset<int32_t> *missingParts;
10 Vector<int32_t> *partsPendingSend;
13 Hashset<KeyValue *> *keyValueGuardSet;
14 Hashset<KeyValue *> *keyValueUpdateSet;
16 int64_t sequenceNumber;
17 int64_t clientLocalSequenceNumber;
20 Pair<int64_t, int64_t> *transactionId;
22 bool flddidSendAPartToServer;
23 TransactionStatus *transactionStatus;
24 bool hadServerFailure;
25 void decodeTransactionData();
29 void addPartEncode(TransactionPart *newPart);
30 void addPartDecode(TransactionPart *newPart);
31 void addUpdateKV(KeyValue *kv);
32 void addGuardKV(KeyValue *kv);
33 int64_t getSequenceNumber();
34 void setSequenceNumber(int64_t _sequenceNumber);
35 int64_t getClientLocalSequenceNumber();
36 Hashtable<int32_t, TransactionPart *> *getParts();
37 bool didSendAPartToServer();
38 void resetNextPartToSend();
39 TransactionPart *getNextPartToSend();
40 void setServerFailure();
41 bool getServerFailure();
42 void resetServerFailure();
43 void setTransactionStatus(TransactionStatus *_transactionStatus);
44 TransactionStatus *getTransactionStatus();
45 void removeSentParts(Vector<int32_t> *sentParts);
46 bool didSendAllParts();
47 Hashset<KeyValue *> *getKeyValueUpdateSet();
48 int getNumberOfParts();
49 int64_t getMachineId();
50 int64_t getArbitrator();
52 Pair<int64_t, int64_t> *getId();
54 TransactionPart *getPart(int32_t index);
55 bool evaluateGuard(Hashtable<IoTString *, KeyValue *> *committedKeyValueTable, Hashtable<IoTString *, KeyValue *> *speculatedKeyValueTable, Hashtable<IoTString *, KeyValue *> *pendingTransactionSpeculatedKeyValueTable);