#define TRANSACTIONPART_H
#include "common.h"
#include "Entry.h"
+#include "Pair.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<int64_t, int64_t> * transactionId = NULL;
- Pair<int64_t int32_t> * partId = NULL;
-
- Array<char> * data = NULL;
+private:
+ int64_t sequenceNumber;
+ int64_t machineId;
+ int64_t arbitratorId;
+ int64_t clientLocalSequenceNumber; // Sequence number of the transaction that this is a part of
+ int32_t partNumber; // Parts position in the
+ bool fldisLastPart;
- public:
- TransactionPart(Slot *s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, Array<char>* _data, bool _isLastPart) : Entry(s),
+ Pair<int64_t, int64_t> transactionId;
+ Pair<int64_t, int32_t> partId;
+
+ Array<char> *data;
+
+public:
+ TransactionPart(Slot *s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart) : Entry(s),
sequenceNumber(-1),
machineId( _machineId),
arbitratorId(_arbitratorId),
clientLocalSequenceNumber(_clientLocalSequenceNumber),
partNumber(_partNumber),
- isLastPart(_isLastPart)
- transactionId(new Pair<int64_t, int64_t>(machineId, clientLocalSequenceNumber)),
- partId(new Pair<int64_t int32_t>(clientLocalSequenceNumber, partNumber)),
+ fldisLastPart(_isLastPart),
+ transactionId(Pair<int64_t, int64_t>(machineId, clientLocalSequenceNumber)),
+ partId(Pair<int64_t, int32_t>(clientLocalSequenceNumber, partNumber)),
data(_data) {
- }
-
+ }
+
int getSize();
- void setSlot(Slot s);
- Pair<int64_t, int64_t> * getTransactionId();
+ Pair<int64_t, int64_t> getTransactionId();
int64_t getArbitratorId();
- Pair<int64_t int32_t>* getPartId();
+ Pair<int64_t, int32_t> getPartId();
int getPartNumber();
int getDataSize();
- Array<char>* getData();
+ Array<char> *getData();
bool isLastPart();
int64_t getMachineId();
int64_t getClientLocalSequenceNumber();
void setSequenceNumber(int64_t _sequenceNumber);
void encode(ByteBuffer *bb);
char getType();
- Entry* getCopy(Slot *s);
+ Entry *getCopy(Slot *s);
};
-Entry * TransactionPart_decode(Slot* s, ByteBuffer* bb);
+Entry *TransactionPart_decode(Slot *s, ByteBuffer *bb);
#endif