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