edits
[iotcloud.git] / version2 / src / C / CommitPart.cc
index c0d50fab9ba58298eb23911fd4cf216268fba2a8..2e08c4b01aa6e72ef4a1897b7ba132953566e508 100644 (file)
@@ -1,16 +1,20 @@
 #include "CommitPart.h"
+#include "ByteBuffer.h"
 
-
-CommitPart::CommitPart(Slot* s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char>* _data, bool _isLastPart) :
+CommitPart::CommitPart(Slot *s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart) :
        Entry(s),
        machineId(_machineId),
        sequenceNumber(_sequenceNumber),
        transactionSequenceNumber(_transactionSequenceNumber),
        partNumber(_partNumber),
-       isLastPart(_isLastPart),
+       fldisLastPart(_isLastPart),
        data(_data),
-       partId(new Pair<int64_t int32_t>(sequenceNumber, partNumber)),
-       commitId(new Pair<int64_t, int64_t>(machineId, sequenceNumber)) {
+       partId(Pair<int64_t, int32_t>(sequenceNumber, partNumber)),
+       commitId(Pair<int64_t, int64_t>(machineId, sequenceNumber)) {
+}
+
+CommitPart::~CommitPart() {
+       delete data;
 }
 
 int CommitPart::getSize() {
@@ -20,10 +24,6 @@ int CommitPart::getSize() {
        return (3 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data->length();
 }
 
-void CommitPart::setSlot(Slot s) {
-       parentslot = s;
-}
-
 int CommitPart::getPartNumber() {
        return partNumber;
 }
@@ -32,20 +32,20 @@ int CommitPart::getDataSize() {
        return data->length();
 }
 
-Array<char> * CommitPart::getData() {
+Array<char> *CommitPart::getData() {
        return data;
 }
 
-Pair<int64_t int32_t> * CommitPart::getPartId() {
+Pair<int64_t, int32_t> CommitPart::getPartId() {
        return partId;
 }
 
-Pair<int64_t, int64_t> *CommitPart::getCommitId() {
+Pair<int64_t, int64_t> CommitPart::getCommitId() {
        return commitId;
 }
 
 bool CommitPart::isLastPart() {
-       return isLastPart;
+       return fldisLastPart;
 }
 
 int64_t CommitPart::getMachineId() {
@@ -60,35 +60,35 @@ int64_t CommitPart::getSequenceNumber() {
        return sequenceNumber;
 }
 
-Entry* CommitPart_decode(Slot* s, ByteBuffer* bb) {
+Entry *CommitPart_decode(Slot *s, ByteBuffer *bb) {
        int64_t machineId = bb->getLong();
        int64_t sequenceNumber = bb->getLong();
        int64_t transactionSequenceNumber = bb->getLong();
        int partNumber = bb->getInt();
        int dataSize = bb->getInt();
        bool isLastPart = bb->get() == 1;
-       
+
        // Get the data
-       Array<char> * data = new Array<char>(dataSize);
+       Array<char> *data = new Array<char>(dataSize);
        bb->get(data);
-       
+
        return new CommitPart(s, machineId, sequenceNumber, transactionSequenceNumber, partNumber, data, isLastPart);
 }
 
-void CommitPart::encode(ByteBuffer bb) {
+void CommitPart::encode(ByteBuffer *bb) {
        bb->put(TypeCommitPart);
        bb->putLong(machineId);
        bb->putLong(sequenceNumber);
        bb->putLong(transactionSequenceNumber);
        bb->putInt(partNumber);
-       bb->putInt(data.length);
-       
-       if (isLastPart) {
+       bb->putInt(data->length());
+
+       if (fldisLastPart) {
                bb->put((char)1);
        } else {
                bb->put((char)0);
        }
-       
+
        bb->put(data);
 }
 
@@ -97,5 +97,5 @@ char CommitPart::getType() {
 }
 
 Entry *CommitPart::getCopy(Slot *s) {
-       return new CommitPart(s, machineId, sequenceNumber, transactionSequenceNumber, partNumber, data, isLastPart);
+       return new CommitPart(s, machineId, sequenceNumber, transactionSequenceNumber, partNumber, new Array<char>(data), fldisLastPart);
 }