blob: a41f9cd39f2b62cd1d9b521583181e6391eda608 [file] [log] [blame]
Madan Jampania97e8202014-10-10 17:01:33 -07001package org.onlab.onos.store.link.impl;
2
3import static com.google.common.base.Preconditions.checkNotNull;
4
5import java.util.Map;
6
7import org.onlab.onos.cluster.NodeId;
8import org.onlab.onos.net.LinkKey;
9import org.onlab.onos.store.Timestamp;
10
11/**
12 * Link AE Advertisement message.
13 */
14public class LinkAntiEntropyAdvertisement {
15
16 private final NodeId sender;
17 private final Map<LinkFragmentId, Timestamp> linkTimestamps;
18 private final Map<LinkKey, Timestamp> linkTombstones;
19
20
21 public LinkAntiEntropyAdvertisement(NodeId sender,
22 Map<LinkFragmentId, Timestamp> linkTimestamps,
23 Map<LinkKey, Timestamp> linkTombstones) {
24 this.sender = checkNotNull(sender);
25 this.linkTimestamps = checkNotNull(linkTimestamps);
26 this.linkTombstones = checkNotNull(linkTombstones);
27 }
28
29 public NodeId sender() {
30 return sender;
31 }
32
33 public Map<LinkFragmentId, Timestamp> linkTimestamps() {
34 return linkTimestamps;
35 }
36
37 public Map<LinkKey, Timestamp> linkTombstones() {
38 return linkTombstones;
39 }
40
41 // For serializer
42 @SuppressWarnings("unused")
43 private LinkAntiEntropyAdvertisement() {
44 this.sender = null;
45 this.linkTimestamps = null;
46 this.linkTombstones = null;
47 }
48}