class Commit {
private:
- Hashtable<int32_t, CommitPart *, int32_t> *parts;
- Hashset<int32_t, int32_t> *missingParts;
+ Hashtable<int32_t, CommitPart *> *parts;
+ Hashset<int32_t> *missingParts;
bool fldisComplete;
bool hasLastPart;
Hashset<KeyValue *> *keyValueUpdateSet;
public:
Commit();
Commit(int64_t _sequenceNumber, int64_t _machineId, int64_t _transactionSequenceNumber);
-
void addPartDecode(CommitPart *newPart);
int64_t getSequenceNumber();
int64_t getTransactionSequenceNumber();
- Hashtable<int32_t, CommitPart *, int32_t> *getParts();
+ Hashtable<int32_t, CommitPart *> *getParts();
void addKV(KeyValue *kv);
void invalidateKey(IoTString *key);
Hashset<KeyValue *> *getKeyValueUpdateSet();
CommitPart *getPart(int32_t index);
void createCommitParts();
void decodeCommitData();
+ friend Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);
};
Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);