dec0db3b7444251cc68b9a5cfe018704f2c51666
[iotcloud.git] / version2 / src / C / LastMessage.h
1
2
3 /**
4  * This Entry records the last message sent by a given machine.
5  * @author Brian Demsky <bdemsky@uci.edu>
6  * @version 1.0
7  */
8
9
10 class LastMessage extends Entry {
11         private int64_t machineid;
12         private int64_t seqnum;
13
14         public LastMessage(Slot slot, int64_t _machineid, int64_t _seqnum) {
15                 super(slot);
16                 machineid=_machineid;
17                 seqnum=_seqnum;
18         }
19
20         public int64_t getMachineID() {
21                 return machineid;
22         }
23
24         public int64_t getSequenceNumber() {
25                 return seqnum;
26         }
27
28         static Entry decode(Slot slot, ByteBuffer bb) {
29                 int64_t machineid=bb.getLong();
30                 int64_t seqnum=bb.getLong();
31                 return new LastMessage(slot, machineid, seqnum);
32         }
33
34         public void encode(ByteBuffer bb) {
35                 bb.put(Entry.TypeLastMessage);
36                 bb.putLong(machineid);
37                 bb.putLong(seqnum);
38         }
39
40         public int getSize() {
41                 return 2*sizeof(int64_t)+sizeof(char);
42         }
43
44         public char getType() {
45                 return Entry.TypeLastMessage;
46         }
47
48         public Entry getCopy(Slot s) {
49                 return new LastMessage(s, machineid, seqnum);
50         }
51 }
52
53