Another file compiles
[iotcloud.git] / version2 / src / C / Commit.cc
index 34d51dcffba610182c03835b82dedd79ddaa6a6d..601973286131df8d54936259ba8bc2f1e9418648 100644 (file)
@@ -16,7 +16,6 @@ Commit::Commit() :
        liveKeys(new Hashset<IoTString *>) {
 }
 
-
 Commit::Commit(int64_t _sequenceNumber, int64_t _machineId, int64_t _transactionSequenceNumber) :
        parts(new Hashtable<int32_t, CommitPart *>()),
        missingParts(NULL),
@@ -109,18 +108,13 @@ int32_t Commit::getNumberOfParts() {
 }
 
 void Commit::setDead() {
-       if (isDead) {
-               // Already dead
-               return;
-       }
-
-       // Set dead
-       isDead = true;
-
-       // Make all the parts of this transaction dead
-       for (int32_t partNumber : parts->keySet()) {
-               CommitPart *part = parts->get(partNumber);
-               part->setDead();
+       if (!isDead) {
+               isDead = true;
+               // Make all the parts of this transaction dead
+               for (int32_t partNumber : parts->keySet()) {
+                       CommitPart *part = parts->get(partNumber);
+                       part->setDead();
+               }
        }
 }
 
@@ -130,17 +124,14 @@ CommitPart *Commit::getPart(int index) {
 
 void Commit::createCommitParts() {
        parts->clear();
-
        // Convert to chars
        Array<char> *charData = convertDataToBytes();
 
-
        int commitPartCount = 0;
        int currentPosition = 0;
        int remaining = charData->length();
 
        while (remaining > 0) {
-
                bool isLastPart = false;
                // determine how much to copy
                int copySize = CommitPart_MAX_NON_HEADER_SIZE;
@@ -164,7 +155,6 @@ void Commit::createCommitParts() {
 }
 
 void Commit::decodeCommitData() {
-
        // Calculate the size of the data section
        int dataSize = 0;
        for (int i = 0; i < parts->keySet()->size(); i++) {
@@ -221,37 +211,31 @@ Array<char> *convertDataToBytes() {
 
 void Commit::setKVsMap(Hashtable<IoTString *, KeyValue *> *newKVs) {
        keyValueUpdateSet->clear();
-       liveKeys->clear();
-
        keyValueUpdateSet->addAll(newKVs->values());
+       liveKeys->clear();
        liveKeys->addAll(newKVs->keySet());
 }
 
 Commit *Commit_merge(Commit *newer, Commit *older, int64_t newSequenceNumber) {
-
        if (older == NULL) {
                return newer;
        } else if (newer == NULL) {
                return older;
        }
-
        Hashtable<IoTString *, KeyValue *> *kvSet = new Hashtable<IoTString *, KeyValue *>();
        for (KeyValue *kv : older->getKeyValueUpdateSet()) {
                kvSet->put(kv->getKey(), kv);
        }
-
        for (KeyValue *kv : newer->getKeyValueUpdateSet()) {
                kvSet->put(kv->getKey(), kv);
        }
 
        int64_t transactionSequenceNumber = newer->getTransactionSequenceNumber();
-
        if (transactionSequenceNumber == -1) {
                transactionSequenceNumber = older->getTransactionSequenceNumber();
        }
 
        Commit *newCommit = new Commit(newSequenceNumber, newer->getMachineId(), transactionSequenceNumber);
-
        newCommit->setKVsMap(kvSet);
 
        return newCommit;