blob: 9bb3445ab7f2af2bf3fc7eeb1e06b5efd97f07ba [file] [log] [blame]
Madan Jampani2ff05592014-10-10 15:42:47 -07001package org.onlab.onos.store.link.impl;
2
3import com.google.common.base.MoreObjects;
4
5import org.onlab.onos.net.link.LinkDescription;
6import org.onlab.onos.net.provider.ProviderId;
7import org.onlab.onos.store.common.impl.Timestamped;
8
9/**
10 * Information published by GossipDeviceStore to notify peers of a device
11 * change event.
12 */
13public class InternalLinkEvent {
14
15 private final ProviderId providerId;
16 private final Timestamped<LinkDescription> linkDescription;
17
18 protected InternalLinkEvent(
19 ProviderId providerId,
20 Timestamped<LinkDescription> linkDescription) {
21 this.providerId = providerId;
22 this.linkDescription = linkDescription;
23 }
24
25 public ProviderId providerId() {
26 return providerId;
27 }
28
29 public Timestamped<LinkDescription> linkDescription() {
30 return linkDescription;
31 }
32
33 @Override
34 public String toString() {
35 return MoreObjects.toStringHelper(getClass())
36 .add("providerId", providerId)
37 .add("linkDescription", linkDescription)
38 .toString();
39 }
40
41 // for serializer
42 protected InternalLinkEvent() {
43 this.providerId = null;
44 this.linkDescription = null;
45 }
46}