3 import java.nio.ByteBuffer;
6 * This Entry records the abort sent by a given machine.
7 * @author Ali Younis <ayounis@uci.edu>
12 class Abort extends Entry {
13 private long seqnumtrans;
14 private long machineid;
15 private long transarbitrator;
18 public Abort(Slot slot, long _seqnumtrans, long _machineid, long _transarbitrator) {
20 seqnumtrans = _seqnumtrans;
21 machineid = _machineid;
22 transarbitrator = _transarbitrator;
25 public long getMachineID() {
29 public long getTransSequenceNumber() {
34 public long getTransArbitrator() {
35 return transarbitrator;
38 static Entry decode(Slot slot, ByteBuffer bb) {
39 long seqnumtrans = bb.getLong();
40 long machineid = bb.getLong();
41 long transarbitrator = bb.getLong();
42 return new Abort(slot, seqnumtrans, machineid, transarbitrator);
45 public void encode(ByteBuffer bb) {
46 bb.put(Entry.TypeAbort);
47 bb.putLong(seqnumtrans);
48 bb.putLong(machineid);
49 bb.putLong(transarbitrator);
52 public int getSize() {
53 return (3 * Long.BYTES) + Byte.BYTES;
56 public byte getType() {
57 return Entry.TypeAbort;
60 public Entry getCopy(Slot s) {
61 return new Abort(s, seqnumtrans, machineid, transarbitrator);