Cleaned up git
[iotcloud.git] / version2 / src / java / iotcloud / Abort.java
1 package iotcloud;
2
3 import java.nio.ByteBuffer;
4
5 /**
6  * This Entry records the abort sent by a given machine.
7  * @author Ali Younis <ayounis@uci.edu>
8  * @version 1.0
9  */
10
11
12 class Abort extends Entry {
13         private long seqnumtrans;
14         private long machineid;
15
16         Abort(Slot slot, long _seqnumtrans, long _machineid) {
17                 super(slot);
18                 seqnumtrans=_seqnumtrans;
19                 machineid=_machineid;
20         }
21
22         long getMachineID() {
23                 return machineid;
24         }
25
26         long getTransSequenceNumber() {
27                 return seqnumtrans;
28         }
29
30         static Entry decode(Slot slot, ByteBuffer bb) {
31                 long seqnumtrans=bb.getLong();
32                 long machineid=bb.getLong();
33                 return new Abort(slot, seqnumtrans, machineid);
34         }
35
36         void encode(ByteBuffer bb) {
37                 bb.put(Entry.TypeAbort);
38                 bb.putLong(seqnumtrans);
39                 bb.putLong(machineid);
40         }
41
42         int getSize() {
43                 return (2 * Long.BYTES) + Byte.BYTES;
44         }
45
46         byte getType() {
47                 return Entry.TypeAbort;
48         }
49
50         Entry getCopy(Slot s) {
51                 return new Abort(s, seqnumtrans, machineid);
52         }
53 }