2 import java.nio.ByteBuffer;
4 class RejectedMessage extends Entry {
5 private long machineid;
6 private long oldseqnum; //Oldest seqnum in range
7 private long newseqnum; //Newest seqnum in range (inclusive)
8 private boolean equalto; //Is message sent or not sent by machineid
10 RejectedMessage(Slot slot, long _machineid, long _oldseqnum, long _newseqnum, boolean _equalto) {
34 static Entry decode(Slot slot, ByteBuffer bb) {
35 long machineid=bb.getLong();
36 long oldseqnum=bb.getLong();
37 long newseqnum=bb.getLong();
38 byte equalto=bb.get();
39 return new RejectedMessage(slot, machineid, oldseqnum, newseqnum, equalto==1);
42 void encode(ByteBuffer bb) {
43 bb.put(Entry.TypeRejectedMessage);
44 bb.putLong(machineid);
45 bb.putLong(oldseqnum);
46 bb.putLong(newseqnum);
47 bb.put(equalto?(byte)1:(byte)0);
51 return 3*Long.BYTES + 2*Byte.BYTES;
55 return Entry.TypeRejectedMessage;