rename files
[iotcloud.git] / version2 / src / C / Abort.cpp
diff --git a/version2/src/C/Abort.cpp b/version2/src/C/Abort.cpp
new file mode 100644 (file)
index 0000000..f653e97
--- /dev/null
@@ -0,0 +1,44 @@
+#include "Abort.h"
+#include "ByteBuffer.h"
+
+Abort::Abort(Slot *slot, int64_t _transactionClientLocalSequenceNumber, int64_t _transactionSequenceNumber,  int64_t _transactionMachineId, int64_t _transactionArbitrator, int64_t _arbitratorLocalSequenceNumber) :
+       Entry(slot),
+       transactionClientLocalSequenceNumber(_transactionClientLocalSequenceNumber),
+       transactionSequenceNumber(_transactionSequenceNumber),
+       transactionMachineId(_transactionMachineId),
+       transactionArbitrator(_transactionArbitrator),
+       arbitratorLocalSequenceNumber(_arbitratorLocalSequenceNumber),
+       abortId(Pair<int64_t, int64_t>(transactionMachineId, transactionClientLocalSequenceNumber)) {
+}
+
+Abort::Abort(Slot *slot, int64_t _transactionClientLocalSequenceNumber, int64_t _transactionSequenceNumber, int64_t _sequenceNumber,  int64_t _transactionMachineId, int64_t _transactionArbitrator, int64_t _arbitratorLocalSequenceNumber) :
+       Entry(slot),
+       transactionClientLocalSequenceNumber(_transactionClientLocalSequenceNumber),
+       transactionSequenceNumber(_transactionSequenceNumber),
+       sequenceNumber(_sequenceNumber),
+       transactionMachineId(_transactionMachineId),
+       transactionArbitrator(_transactionArbitrator),
+       arbitratorLocalSequenceNumber(_arbitratorLocalSequenceNumber),
+       abortId(Pair<int64_t, int64_t>(transactionMachineId, transactionClientLocalSequenceNumber)) {
+}
+
+Entry *Abort_decode(Slot *slot, ByteBuffer *bb) {
+       int64_t transactionClientLocalSequenceNumber = bb->getLong();
+       int64_t transactionSequenceNumber = bb->getLong();
+       int64_t sequenceNumber = bb->getLong();
+       int64_t transactionMachineId = bb->getLong();
+       int64_t transactionArbitrator = bb->getLong();
+       int64_t arbitratorLocalSequenceNumber = bb->getLong();
+
+       return new Abort(slot, transactionClientLocalSequenceNumber, transactionSequenceNumber, sequenceNumber, transactionMachineId, transactionArbitrator, arbitratorLocalSequenceNumber);
+}
+
+void Abort::encode(ByteBuffer *bb) {
+       bb->put(TypeAbort);
+       bb->putLong(transactionClientLocalSequenceNumber);
+       bb->putLong(transactionSequenceNumber);
+       bb->putLong(sequenceNumber);
+       bb->putLong(transactionMachineId);
+       bb->putLong(transactionArbitrator);
+       bb->putLong(arbitratorLocalSequenceNumber);
+}