edits
[iotcloud.git] / version2 / src / C / Abort.h
1 #ifndef ABORT_H
2 #define ABORT_H
3 #include "common.h"
4 #include "Entry.h"
5 #include "Pair.h"
6
7 class Abort : public Entry {
8  private:
9         int64_t transactionClientLocalSequenceNumber;
10   int64_t transactionSequenceNumber;
11         int64_t sequenceNumber;
12         int64_t transactionMachineId;
13         int64_t transactionArbitrator;
14         int64_t arbitratorLocalSequenceNumber;
15         Pair<int64_t, int64_t> * abortId;
16   
17  public:
18         Abort(Slot * slot, int64_t _transactionClientLocalSequenceNumber, int64_t _transactionSequenceNumber ,  int64_t _transactionMachineId, int64_t _transactionArbitrator, int64_t _arbitratorLocalSequenceNumber);
19   Abort(Slot * slot, int64_t _transactionClientLocalSequenceNumber, int64_t _transactionSequenceNumber, int64_t _sequenceNumber ,  int64_t _transactionMachineId, int64_t _transactionArbitrator, int64_t _arbitratorLocalSequenceNumber);
20
21         Pair<int64_t, int64_t> * getAbortId() {return abortId;}
22   
23         int64_t getTransactionMachineId() { return transactionMachineId; }
24         int64_t getTransactionSequenceNumber()  { return transactionSequenceNumber; }
25         int64_t getTransactionClientLocalSequenceNumber() { return transactionClientLocalSequenceNumber; }
26         int64_t getArbitratorLocalSequenceNumber() { return arbitratorLocalSequenceNumber; }
27         void setSlot(Slot * s) { parentslot = s; }
28         int64_t getSequenceNumber() { return sequenceNumber;    }
29         void setSequenceNumber(int64_t _sequenceNumber) { sequenceNumber = _sequenceNumber; }
30         int64_t getTransactionArbitrator() { return transactionArbitrator; }
31
32         void encode(ByteBuffer * bb);
33         int getSize() { return (6 * sizeof(uint64_t)) + sizeof(char); }
34         char getType() { return TypeAbort; }
35         Entry * getCopy(Slot * s) { return new Abort(s, transactionClientLocalSequenceNumber, transactionSequenceNumber, sequenceNumber, transactionMachineId, transactionArbitrator, arbitratorLocalSequenceNumber); }
36 };
37
38 Entry * Abortdecode(Slot * slot, ByteBuffer * bb);
39 #endif