7 // Max size of the part excluding the fixed size header
8 #define CommitPart_MAX_NON_HEADER_SIZE 512
10 class CommitPart : public Entry {
12 // Sequence number of the transaction this commit is for, -1 if not a cloud transaction
13 int64_t machineId; // Machine Id of the device that made the commit
14 int64_t sequenceNumber; // commit sequence number for this arbitrator
15 int64_t transactionSequenceNumber;
16 int32_t partNumber; // Parts position in the
21 Pair<int64_t, int32_t> partId;
22 Pair<int64_t, int64_t> commitId;
25 CommitPart(Slot *s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart);
30 Array<char> *getData();
31 Pair<int64_t, int32_t> * getPartId();
32 Pair<int64_t, int64_t> getCommitId();
34 int64_t getMachineId();
35 int64_t getTransactionSequenceNumber();
36 int64_t getSequenceNumber();
37 void encode(ByteBuffer *bb);
39 Entry *getCopy(Slot *s);
40 void releaseRef() {if ((--refCount)==0) delete this;}
41 void acquireRef() {refCount++;}
44 Entry *CommitPart_decode(Slot *s, ByteBuffer *bb);