1 #include "TransactionPart.h"
3 int TransactionPart::getSize() {
5 return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char));
7 return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data.length;
10 void TransactionPart::setSlot(Slot* s) {
14 Pair<int64_t, int64_t>* TransactionPart::getTransactionId() {
18 int64_t TransactionPart::getArbitratorId() {
22 Pair<int64_t int32_t>* TransactionPart::getPartId() {
26 int TransactionPart::getPartNumber() {
30 int TransactionPart::getDataSize() {
34 Array<char>* TransactionPart::getData() {
38 bool TransactionPart::isLastPart() {
42 int64_t TransactionPart::getMachineId() {
46 int64_t TransactionPart::getClientLocalSequenceNumber() {
47 return clientLocalSequenceNumber;
50 int64_t TransactionPart::getSequenceNumber() {
51 return sequenceNumber;
54 void TransactionPart::setSequenceNumber(int64_t _sequenceNumber) {
55 sequenceNumber = _sequenceNumber;
58 Entry* TransactionPart_decode(Slot* s, ByteBuffer* bb) {
59 int64_t sequenceNumber = bb->getLong();
60 int64_t machineId = bb->getLong();
61 int64_t arbitratorId = bb->getLong();
62 int64_t clientLocalSequenceNumber = bb->getLong();
63 int partNumber = bb->getInt();
64 int dataSize = bb->getInt();
65 bool isLastPart = (bb->get() == 1);
67 Array<char>* data = new Array<char>(dataSize);
70 TransactionPart returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
71 returnTransactionPart.setSequenceNumber(sequenceNumber);
73 return returnTransactionPart;
76 void TransactionPart::encode(ByteBuffer* bb) {
77 bb->put(Entry.TypeTransactionPart);
78 bb->putLong(sequenceNumber);
79 bb->putLong(machineId);
80 bb->putLong(arbitratorId);
81 bb->putLong(clientLocalSequenceNumber);
82 bb->putInt(partNumber);
83 bb->putInt(data.length);
94 char TransactionPart::getType() {
95 return TypeTransactionPart;
98 Entry * TransactionPart::getCopy(Slot *s) {
99 TransactionPart* copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
100 copyTransaction.setSequenceNumber(sequenceNumber);
102 return copyTransaction;