more code
[iotcloud.git] / src / java / iotcloud / RejectedMessage.java
1 package iotcloud;
2 import java.nio.ByteBuffer;
3
4 class RejectedMessage extends Entry {
5         private long machineid;
6         private long oldseqnum;
7         private long newseqnum;
8         private boolean equalto;
9
10         RejectedMessage(long _machineid, long _oldseqnum, long _newseqnum, boolean _equalto) {
11                 machineid=_machineid;
12                 oldseqnum=_oldseqnum;
13                 newseqnum=_newseqnum;
14                 equalto=_equalto;
15         }
16         
17         static Entry decode(ByteBuffer bb) {
18                 long machineid=bb.getLong();
19                 long oldseqnum=bb.getLong();
20                 long newseqnum=bb.getLong();
21                 byte equalto=bb.get();
22                 return new RejectedMessage(machineid, oldseqnum, newseqnum, equalto==1);
23         }
24         
25         void encode(ByteBuffer bb) {
26                 bb.put(Entry.TypeRejectedMessage);
27                 bb.putLong(machineid);
28                 bb.putLong(oldseqnum);
29                 bb.putLong(newseqnum);
30                 bb.put(equalto?(byte)1:(byte)0);
31         }
32         
33         int getSize() {
34                 return 3*Long.BYTES + 2*Byte.BYTES;
35         }
36
37         byte getType() {
38                 return Entry.TypeRejectedMessage;
39         }
40 }