8 MyVector<CommitPart *> *parts;
12 Hashset<KeyValue *, uintptr_t, 0> *keyValueUpdateSet;
14 int64_t sequenceNumber;
16 int64_t transactionSequenceNumber;
17 Hashset<IoTString *> *liveKeys;
18 Array<char> *dataBytes;
19 Array<char> *convertDataToBytes();
20 void setKVsMap(Hashset<KeyValue *, uintptr_t, 0, hashKeyValue, KeyValueEquals> *newKVs);
24 Commit(int64_t _sequenceNumber, int64_t _machineId, int64_t _transactionSequenceNumber);
26 void addPartDecode(CommitPart *newPart);
27 int64_t getSequenceNumber();
28 int64_t getTransactionSequenceNumber();
29 MyVector<CommitPart *> *getParts();
30 void addKV(KeyValue *kv);
31 void invalidateKey(IoTString *key);
32 Hashset<KeyValue *, uintptr_t, 0> *getKeyValueUpdateSet();
33 int32_t getNumberOfParts();
34 int64_t getMachineId() { return machineId; }
35 bool isComplete() { return fldisComplete; }
36 bool isLive() { return !isDead; }
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);