7 Hashtable<int32_t, CommitPart *> *parts;
8 Hashset<int32_t> *missingParts;
11 Hashset<KeyValue *> *keyValueUpdateSet;
13 int64_t sequenceNumber;
15 int64_t transactionSequenceNumber;
16 Hashset<IoTString *> *liveKeys;
17 Array<char> *convertDataToBytes();
18 void setKVsMap(Hashtable<IoTString *, KeyValue *> *newKVs);
22 Commit(int64_t _sequenceNumber, int64_t _machineId, int64_t _transactionSequenceNumber);
23 void addPartDecode(CommitPart *newPart);
24 int64_t getSequenceNumber();
25 int64_t getTransactionSequenceNumber();
26 Hashtable<int32_t, CommitPart *> *getParts();
27 void addKV(KeyValue *kv);
28 void invalidateKey(IoTString *key);
29 Hashset<KeyValue *> *getKeyValueUpdateSet();
30 int32_t getNumberOfParts();
31 int64_t getMachineId() { return machineId; }
32 bool isComplete() { return fldisComplete; }
33 bool isLive() { return !isDead; }
35 CommitPart *getPart(int32_t index);
36 void createCommitParts();
37 void decodeCommitData();
38 friend Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);
41 Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);