Block Chain Transactions, Commits multiple parts version
[iotcloud.git] / version2 / src / java / iotcloud / Abort.java
index 327ce336b9a68e358c0d8930616ef66c83c7d78c..62312926192b2fe4ba5b5c3dd6e5f6703bb4d259 100644 (file)
@@ -9,48 +9,88 @@ import java.nio.ByteBuffer;
  */
 
 
-class Abort extends Entry {
-       private long seqnumtrans;
-       private long machineid;
-       private long transarbitrator;
+class Abort extends Entry{
+       private long transactionClientLocalSequenceNumber = -1;
+       private long transactionSequenceNumber = -1;
+       private long sequenceNumber = -1;
+       private long transactionMachineId = -1;
+       private long transactionArbitrator = -1;
 
+       private Pair<Long, Long> abortId = null;
 
-       public Abort(Slot slot, long _seqnumtrans,  long _machineid, long _transarbitrator) {
+
+       public Abort(Slot slot, long _transactionClientLocalSequenceNumber, long _transactionSequenceNumber ,  long _transactionMachineId, long _transactionArbitrator) {
+               super(slot);
+               transactionClientLocalSequenceNumber = _transactionClientLocalSequenceNumber;
+               transactionSequenceNumber = _transactionSequenceNumber;
+               transactionMachineId = _transactionMachineId;
+               transactionArbitrator = _transactionArbitrator;
+               abortId = new Pair<Long, Long>(transactionMachineId, transactionClientLocalSequenceNumber);
+       }
+
+       public Abort(Slot slot, long _transactionClientLocalSequenceNumber, long _transactionSequenceNumber, long _sequenceNumber ,  long _transactionMachineId, long _transactionArbitrator) {
                super(slot);
-               seqnumtrans = _seqnumtrans;
-               machineid = _machineid;
-               transarbitrator = _transarbitrator;
+               transactionClientLocalSequenceNumber = _transactionClientLocalSequenceNumber;
+               transactionSequenceNumber = _transactionSequenceNumber;
+               sequenceNumber = _sequenceNumber;
+               transactionMachineId = _transactionMachineId;
+               transactionArbitrator = _transactionArbitrator;
+               abortId = new Pair<Long, Long>(transactionMachineId, transactionClientLocalSequenceNumber);
+       }
+
+       public Pair<Long, Long> getAbortId() {
+               return abortId;
+       }
+
+       public long getTransactionMachineId() {
+               return transactionMachineId;
+       }
+
+       public long getTransactionSequenceNumber() {
+               return transactionSequenceNumber;
+       }
+
+       public long getTransactionClientLocalSequenceNumber() {
+               return transactionClientLocalSequenceNumber;
+       }
+
+       public void setSlot(Slot s) {
+               parentslot = s;
        }
 
-       public long getMachineID() {
-               return machineid;
+       public long getSequenceNumber() {
+               return sequenceNumber;
        }
 
-       public long getTransSequenceNumber() {
-               return seqnumtrans;
+       public void setSequenceNumber(long _sequenceNumber) {
+               sequenceNumber = _sequenceNumber;
        }
 
 
-       public long getTransArbitrator() {
-               return transarbitrator;
+       public long getTransactionArbitrator() {
+               return transactionArbitrator;
        }
 
        static Entry decode(Slot slot, ByteBuffer bb) {
-               long seqnumtrans = bb.getLong();
-               long machineid = bb.getLong();
-               long transarbitrator = bb.getLong();
-               return new Abort(slot, seqnumtrans,  machineid, transarbitrator);
+               long transactionClientLocalSequenceNumber = bb.getLong();
+               long transactionSequenceNumber = bb.getLong();
+               long sequenceNumber = bb.getLong();
+               long transactionMachineId = bb.getLong();
+               long transactionArbitrator = bb.getLong();
+               return new Abort(slot, transactionClientLocalSequenceNumber, transactionSequenceNumber, sequenceNumber, transactionMachineId, transactionArbitrator);
        }
 
        public void encode(ByteBuffer bb) {
                bb.put(Entry.TypeAbort);
-               bb.putLong(seqnumtrans);
-               bb.putLong(machineid);
-               bb.putLong(transarbitrator);
+               bb.putLong(transactionClientLocalSequenceNumber);
+               bb.putLong(transactionSequenceNumber);
+               bb.putLong(sequenceNumber);
+               bb.putLong(transactionMachineId);
+               bb.putLong(transactionArbitrator);
        }
 
        public int getSize() {
-               return (3 * Long.BYTES) + Byte.BYTES;
+               return (4 * Long.BYTES) + Byte.BYTES;
        }
 
        public byte getType() {
@@ -58,6 +98,6 @@ class Abort extends Entry {
        }
 
        public Entry getCopy(Slot s) {
-               return new Abort(s, seqnumtrans, machineid, transarbitrator);
+               return new Abort(s, transactionClientLocalSequenceNumber, transactionSequenceNumber, sequenceNumber, transactionMachineId, transactionArbitrator);
        }
 }
\ No newline at end of file