class Commit {
private:
- Vector<CommitPart *> *parts;
+ MyVector<CommitPart *> *parts;
uint32_t partCount;
- Hashset<int32_t> *missingParts;
bool fldisComplete;
bool hasLastPart;
Hashset<KeyValue *, uintptr_t, 0> *keyValueUpdateSet;
int64_t machineId;
int64_t transactionSequenceNumber;
Hashset<IoTString *> *liveKeys;
+ Array<char> *dataBytes;
Array<char> *convertDataToBytes();
- void setKVsMap(Hashset<KeyValue *, uintptr_t, 0> *newKVs);
+ void setKVsMap(Hashset<KeyValue *, uintptr_t, 0, hashKeyValue, KeyValueEquals> *newKVs);
public:
Commit();
void addPartDecode(CommitPart *newPart);
int64_t getSequenceNumber();
int64_t getTransactionSequenceNumber();
- Vector<CommitPart *> *getParts();
+ MyVector<CommitPart *> *getParts();
void addKV(KeyValue *kv);
void invalidateKey(IoTString *key);
Hashset<KeyValue *, uintptr_t, 0> *getKeyValueUpdateSet();
bool isComplete() { return fldisComplete; }
bool isLive() { return !isDead; }
void setDead();
- CommitPart *getPart(int32_t index);
void createCommitParts();
void decodeCommitData();
friend Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);