+++ /dev/null
-#include "TransactionPart.h"
-#include "ByteBuffer.h"
-
-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();
-}
-
-TransactionPart::~TransactionPart() {
- delete data;
-}
-
-Pair<int64_t, int64_t> TransactionPart::getTransactionId() {
- return transactionId;
-}
-
-int64_t TransactionPart::getArbitratorId() {
- return arbitratorId;
-}
-
-Pair<int64_t, int32_t> * TransactionPart::getPartId() {
- return & partId;
-}
-
-int TransactionPart::getPartNumber() {
- return partNumber;
-}
-
-int TransactionPart::getDataSize() {
- return data->length();
-}
-
-Array<char> *TransactionPart::getData() {
- return data;
-}
-
-bool TransactionPart::isLastPart() {
- return fldisLastPart;
-}
-
-int64_t TransactionPart::getMachineId() {
- return machineId;
-}
-
-int64_t TransactionPart::getClientLocalSequenceNumber() {
- return clientLocalSequenceNumber;
-}
-
-int64_t TransactionPart::getSequenceNumber() {
- return sequenceNumber;
-}
-
-void TransactionPart::setSequenceNumber(int64_t _sequenceNumber) {
- sequenceNumber = _sequenceNumber;
-}
-
-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<char> *data = new Array<char>(dataSize);
- bb->get(data);
-
- TransactionPart *returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
- returnTransactionPart->setSequenceNumber(sequenceNumber);
-
- return returnTransactionPart;
-}
-
-void TransactionPart::encode(ByteBuffer *bb) {
- bb->put(TypeTransactionPart);
- bb->putLong(sequenceNumber);
- bb->putLong(machineId);
- bb->putLong(arbitratorId);
- bb->putLong(clientLocalSequenceNumber);
- bb->putInt(partNumber);
- bb->putInt(data->length());
-
- if (fldisLastPart) {
- bb->put((char)1);
- } else {
- bb->put((char)0);
- }
-
- bb->put(data);
-}
-
-char TransactionPart::getType() {
- return TypeTransactionPart;
-}
-
-Entry *TransactionPart::getCopy(Slot *s) {
- TransactionPart *copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, new Array<char>(data), fldisLastPart);
- copyTransaction->setSequenceNumber(sequenceNumber);
-
- return copyTransaction;
-}