From: bdemsky Date: Fri, 19 Jan 2018 06:17:56 +0000 (-0800) Subject: edits X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iotcloud.git;a=commitdiff_plain;h=20d923fe5073caaa86779457abc005e9644743f5 edits --- diff --git a/version2/src/C/TransactionPart.cc b/version2/src/C/TransactionPart.cc index 1acda0b..b738715 100644 --- a/version2/src/C/TransactionPart.cc +++ b/version2/src/C/TransactionPart.cc @@ -1,137 +1,103 @@ +#include "TransactionPart.h" - -class TransactionPart extends Entry { - - // Max size of the part excluding the fixed size header - static final int MAX_NON_HEADER_SIZE = 512; - - int64_t sequenceNumber = -1; - int64_t machineId = -1; - int64_t arbitratorId = -1; - int64_t clientLocalSequenceNumber = -1; // Sequence number of the transaction that this is a part of - int partNumber = -1; // Parts position in the - bool isLastPart = false; - - Pair transactionId = NULL; - Pair partId = NULL; - - char[] data = NULL; - - TransactionPart(Slot s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, char[] _data, bool _isLastPart) { - super(s); - machineId = _machineId; - arbitratorId = _arbitratorId; - clientLocalSequenceNumber = _clientLocalSequenceNumber; - partNumber = _partNumber; - data = _data; - isLastPart = _isLastPart; - - transactionId = new Pair(machineId, clientLocalSequenceNumber); - partId = new Pair(clientLocalSequenceNumber, partNumber); - - } - - int getSize() { - if (data == NULL) { - return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)); - } - return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data.length; - } - - void setSlot(Slot s) { - parentslot = s; - } - - Pair getTransactionId() { - return transactionId; - } - - int64_t getArbitratorId() { - return arbitratorId; +int TransactionPart::getSize() { + if (data == NULL) { + return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)); } + return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data.length; +} - Pair getPartId() { - return partId; - } +void TransactionPart::setSlot(Slot* s) { + parentslot = s; +} - int getPartNumber() { - return partNumber; - } +Pair* TransactionPart::getTransactionId() { + return transactionId; +} - int getDataSize() { - return data.length; - } +int64_t TransactionPart::getArbitratorId() { + return arbitratorId; +} - char[] getData() { - return data; - } +Pair* TransactionPart::getPartId() { + return partId; +} - bool isLastPart() { - return isLastPart; - } +int TransactionPart::getPartNumber() { + return partNumber; +} - int64_t getMachineId() { - return machineId; - } +int TransactionPart::getDataSize() { + return data.length; +} - int64_t getClientLocalSequenceNumber() { - return clientLocalSequenceNumber; - } +Array* TransactionPart::getData() { + return data; +} +bool TransactionPart::isLastPart() { + return isLastPart; +} - int64_t getSequenceNumber() { - return sequenceNumber; - } +int64_t TransactionPart::getMachineId() { + return machineId; +} - void setSequenceNumber(int64_t _sequenceNumber) { - sequenceNumber = _sequenceNumber; - } +int64_t TransactionPart::getClientLocalSequenceNumber() { + return clientLocalSequenceNumber; +} - static Entry decode(Slot s, ByteBuffer bb) { - int64_t sequenceNumber = bb->getLong(); - int64_t machineId = bb->getLong(); - int64_t arbitratorId = bb->getLong(); - int64_t clientLocalSequenceNumber = bb->getLong(); - int partNumber = bb->getInt(); - int dataSize = bb->getInt(); - bool isLastPart = (bb->get() == 1); - // Get the data - char[] data = new char[dataSize]; - bb->get(data); - - TransactionPart returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); - returnTransactionPart.setSequenceNumber(sequenceNumber); - - return returnTransactionPart; - } +int64_t TransactionPart::getSequenceNumber() { + return sequenceNumber; +} - void encode(ByteBuffer bb) { - bb->put(Entry.TypeTransactionPart); - bb->putLong(sequenceNumber); - bb->putLong(machineId); - bb->putLong(arbitratorId); - bb->putLong(clientLocalSequenceNumber); - bb->putInt(partNumber); - bb->putInt(data.length); - - if (isLastPart) { - bb->put((char)1); - } else { - bb->put((char)0); - } - - bb->put(data); - } +void TransactionPart::setSequenceNumber(int64_t _sequenceNumber) { + sequenceNumber = _sequenceNumber; +} - char getType() { - return Entry.TypeTransactionPart; - } +Entry* TransactionPart_decode(Slot* s, ByteBuffer* bb) { + int64_t sequenceNumber = bb->getLong(); + int64_t machineId = bb->getLong(); + int64_t arbitratorId = bb->getLong(); + int64_t clientLocalSequenceNumber = bb->getLong(); + int partNumber = bb->getInt(); + int dataSize = bb->getInt(); + bool isLastPart = (bb->get() == 1); + // Get the data + Array* data = new Array(dataSize); + bb->get(data); + + TransactionPart returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); + returnTransactionPart.setSequenceNumber(sequenceNumber); + + return returnTransactionPart; +} - Entry getCopy(Slot s) { +void TransactionPart::encode(ByteBuffer* bb) { + bb->put(Entry.TypeTransactionPart); + bb->putLong(sequenceNumber); + bb->putLong(machineId); + bb->putLong(arbitratorId); + bb->putLong(clientLocalSequenceNumber); + bb->putInt(partNumber); + bb->putInt(data.length); + + if (isLastPart) { + bb->put((char)1); + } else { + bb->put((char)0); + } + + bb->put(data); +} - TransactionPart copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); - copyTransaction.setSequenceNumber(sequenceNumber); +char TransactionPart::getType() { + return TypeTransactionPart; +} - return copyTransaction; - } +Entry * TransactionPart::getCopy(Slot *s) { + TransactionPart* copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); + copyTransaction.setSequenceNumber(sequenceNumber); + + return copyTransaction; } diff --git a/version2/src/C/TransactionPart.h b/version2/src/C/TransactionPart.h index b89b57c..5e2d84a 100644 --- a/version2/src/C/TransactionPart.h +++ b/version2/src/C/TransactionPart.h @@ -1,137 +1,55 @@ - - -class TransactionPart extends Entry { - - // Max size of the part excluding the fixed size header - public static final int MAX_NON_HEADER_SIZE = 512; - - private int64_t sequenceNumber = -1; - private int64_t machineId = -1; - private int64_t arbitratorId = -1; - private int64_t clientLocalSequenceNumber = -1; // Sequence number of the transaction that this is a part of - private int partNumber = -1; // Parts position in the - private bool isLastPart = false; - - private Pair transactionId = NULL; - private Pair partId = NULL; - - private char[] data = NULL; - - public TransactionPart(Slot s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, char[] _data, bool _isLastPart) { - super(s); - machineId = _machineId; - arbitratorId = _arbitratorId; - clientLocalSequenceNumber = _clientLocalSequenceNumber; - partNumber = _partNumber; - data = _data; - isLastPart = _isLastPart; - - transactionId = new Pair(machineId, clientLocalSequenceNumber); - partId = new Pair(clientLocalSequenceNumber, partNumber); - - } - - public int getSize() { - if (data == NULL) { - return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)); - } - return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data.length; - } - - public void setSlot(Slot s) { - parentslot = s; - } - - public Pair getTransactionId() { - return transactionId; - } - - public int64_t getArbitratorId() { - return arbitratorId; - } - - public Pair getPartId() { - return partId; - } - - public int getPartNumber() { - return partNumber; - } - - public int getDataSize() { - return data.length; - } - - public char[] getData() { - return data; - } - - public bool isLastPart() { - return isLastPart; - } - - public int64_t getMachineId() { - return machineId; - } - - public int64_t getClientLocalSequenceNumber() { - return clientLocalSequenceNumber; - } - - - public int64_t getSequenceNumber() { - return sequenceNumber; - } - - public void setSequenceNumber(int64_t _sequenceNumber) { - sequenceNumber = _sequenceNumber; - } - - static Entry decode(Slot s, ByteBuffer bb) { - int64_t sequenceNumber = bb->getLong(); - int64_t machineId = bb->getLong(); - int64_t arbitratorId = bb->getLong(); - int64_t clientLocalSequenceNumber = bb->getLong(); - int partNumber = bb->getInt(); - int dataSize = bb->getInt(); - bool isLastPart = (bb->get() == 1); - // Get the data - char[] data = new char[dataSize]; - bb->get(data); - - TransactionPart returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); - returnTransactionPart.setSequenceNumber(sequenceNumber); - - return returnTransactionPart; - } - - public void encode(ByteBuffer bb) { - bb->put(Entry.TypeTransactionPart); - bb->putLong(sequenceNumber); - bb->putLong(machineId); - bb->putLong(arbitratorId); - bb->putLong(clientLocalSequenceNumber); - bb->putInt(partNumber); - bb->putInt(data.length); - - if (isLastPart) { - bb->put((char)1); - } else { - bb->put((char)0); +#ifndef TRANSACTIONPART_H +#define TRANSACTIONPART_H +#include "common.h" +#include "Entry.h" + +// Max size of the part excluding the fixed size header +#define TransactionPart_MAX_NON_HEADER_SIZE 512 + +class TransactionPart : public Entry { + private: + int64_t sequenceNumber = -1; + int64_t machineId = -1; + int64_t arbitratorId = -1; + int64_t clientLocalSequenceNumber = -1; // Sequence number of the transaction that this is a part of + int partNumber = -1; // Parts position in the + bool isLastPart = false; + + Pair * transactionId = NULL; + Pair * partId = NULL; + + Array * data = NULL; + + public: + TransactionPart(Slot *s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, Array* _data, bool _isLastPart) : Entry(s), + sequenceNumber(-1), + machineId( _machineId), + arbitratorId(_arbitratorId), + clientLocalSequenceNumber(_clientLocalSequenceNumber), + partNumber(_partNumber), + isLastPart(_isLastPart) + transactionId(new Pair(machineId, clientLocalSequenceNumber)), + partId(new Pair(clientLocalSequenceNumber, partNumber)), + data(_data) { } - - bb->put(data); - } - - public char getType() { - return Entry.TypeTransactionPart; - } - - public Entry getCopy(Slot s) { - - TransactionPart copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart); - copyTransaction.setSequenceNumber(sequenceNumber); - - return copyTransaction; - } -} + + int getSize(); + void setSlot(Slot s); + Pair * getTransactionId(); + int64_t getArbitratorId(); + Pair* getPartId(); + int getPartNumber(); + int getDataSize(); + Array* getData(); + bool isLastPart(); + int64_t getMachineId(); + int64_t getClientLocalSequenceNumber(); + int64_t getSequenceNumber(); + void setSequenceNumber(int64_t _sequenceNumber); + void encode(ByteBuffer *bb); + char getType(); + Entry* getCopy(Slot *s); +}; + +Entry * TransactionPart_decode(Slot* s, ByteBuffer* bb); +#endif