| package org.onlab.onos.store.common.impl; |
| |
| import java.util.Map; |
| |
| import org.onlab.onos.cluster.NodeId; |
| import org.onlab.onos.store.Timestamp; |
| |
| import com.google.common.collect.ImmutableMap; |
| |
| /** |
| * Anti-Entropy advertisement message. |
| * <p> |
| * Message to advertise the information this node holds. |
| * |
| * @param <ID> ID type |
| */ |
| public class AntiEntropyAdvertisement<ID> { |
| |
| private final NodeId sender; |
| private final ImmutableMap<ID, Timestamp> advertisement; |
| |
| /** |
| * Creates anti-entropy advertisement message. |
| * |
| * @param sender sender of this message |
| * @param advertisement timestamp information of the data sender holds |
| */ |
| public AntiEntropyAdvertisement(NodeId sender, Map<ID, Timestamp> advertisement) { |
| this.sender = sender; |
| this.advertisement = ImmutableMap.copyOf(advertisement); |
| } |
| |
| public NodeId sender() { |
| return sender; |
| } |
| |
| public ImmutableMap<ID, Timestamp> advertisement() { |
| return advertisement; |
| } |
| |
| // Default constructor for serializer |
| protected AntiEntropyAdvertisement() { |
| this.sender = null; |
| this.advertisement = null; |
| } |
| } |