package iotcloud;
+import java.nio.ByteBuffer;
-public class RejectedMessage extends Entry {
+class RejectedMessage extends Entry {
+ private long machineid;
+ private long oldseqnum;
+ private long newseqnum;
+ private boolean equalto;
+ RejectedMessage(Slot slot, long _machineid, long _oldseqnum, long _newseqnum, boolean _equalto) {
+ super(slot);
+ machineid=_machineid;
+ oldseqnum=_oldseqnum;
+ newseqnum=_newseqnum;
+ equalto=_equalto;
+ }
+
+ static Entry decode(Slot slot, ByteBuffer bb) {
+ long machineid=bb.getLong();
+ long oldseqnum=bb.getLong();
+ long newseqnum=bb.getLong();
+ byte equalto=bb.get();
+ return new RejectedMessage(slot, machineid, oldseqnum, newseqnum, equalto==1);
+ }
+
+ void encode(ByteBuffer bb) {
+ bb.put(Entry.TypeRejectedMessage);
+ bb.putLong(machineid);
+ bb.putLong(oldseqnum);
+ bb.putLong(newseqnum);
+ bb.put(equalto?(byte)1:(byte)0);
+ }
+
+ int getSize() {
+ return 3*Long.BYTES + 2*Byte.BYTES;
+ }
+ byte getType() {
+ return Entry.TypeRejectedMessage;
+ }
}