#include "common.h"
class Commit {
- private:
- Hashtable<int32_t, CommitPart *> * parts;
- Hashset<int32_t> *missingParts;
- bool fldisComplete;
+private:
+ Hashtable<int32_t, CommitPart *, int32_t> *parts;
+ Hashset<int32_t, int32_t> *missingParts;
+ bool fldisComplete;
bool hasLastPart;
- Hashset<KeyValue *> *keyValueUpdateSet;
- bool isDead;
- int64_t sequenceNumber;
+ Hashset<KeyValue *> *keyValueUpdateSet;
+ bool isDead;
+ int64_t sequenceNumber;
int64_t machineId;
- int64_t transactionSequenceNumber;
- Hashset<IoTString*> * liveKeys;
- Array<char> * convertDataToBytes();
- void setKVsMap(Hashtable<IoTString *, KeyValue *> * newKVs);
-
- public:
+ int64_t transactionSequenceNumber;
+ Hashset<IoTString *> *liveKeys;
+ Array<char> *convertDataToBytes();
+ void setKVsMap(Hashtable<IoTString *, KeyValue *> *newKVs);
+
+public:
Commit();
Commit(int64_t _sequenceNumber, int64_t _machineId, int64_t _transactionSequenceNumber);
-
- void addPartDecode(CommitPart * newPart);
+
+ void addPartDecode(CommitPart *newPart);
int64_t getSequenceNumber();
int64_t getTransactionSequenceNumber();
- Hashtable<int32_t, CommitPart *> *getParts();
- void addKV(KeyValue * kv);
- void invalidateKey(IoTString * key);
- Hashset<KeyValue *> * getKeyValueUpdateSet();
+ Hashtable<int32_t, CommitPart *, int32_t> *getParts();
+ void addKV(KeyValue *kv);
+ void invalidateKey(IoTString *key);
+ Hashset<KeyValue *> *getKeyValueUpdateSet();
int32_t getNumberOfParts();
int64_t getMachineId() { return machineId; }
bool isComplete() { return fldisComplete; }
bool isLive() { return !isDead; }
void setDead();
- CommitPart * getPart(int32_t index);
+ CommitPart *getPart(int32_t index);
void createCommitParts();
void decodeCommitData();
};
-Commit * Commit_merge(Commit * newer, Commit * older, int64_t newSequenceNumber);
+Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber);
#endif