blob: a184d7097c49768ea655d30167d52f3ba89b5fb0 [file] [log] [blame]
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07001/*
2 * Copyright 2014 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Madan Jampani2ff05592014-10-10 15:42:47 -070016package org.onlab.onos.store.link.impl;
17
18import com.google.common.base.MoreObjects;
19
20import org.onlab.onos.net.link.LinkDescription;
21import org.onlab.onos.net.provider.ProviderId;
Yuta HIGUCHIeecee552014-10-16 14:09:01 -070022import org.onlab.onos.store.impl.Timestamped;
Madan Jampani2ff05592014-10-10 15:42:47 -070023
24/**
25 * Information published by GossipDeviceStore to notify peers of a device
26 * change event.
27 */
28public class InternalLinkEvent {
29
30 private final ProviderId providerId;
31 private final Timestamped<LinkDescription> linkDescription;
32
33 protected InternalLinkEvent(
34 ProviderId providerId,
35 Timestamped<LinkDescription> linkDescription) {
36 this.providerId = providerId;
37 this.linkDescription = linkDescription;
38 }
39
40 public ProviderId providerId() {
41 return providerId;
42 }
43
44 public Timestamped<LinkDescription> linkDescription() {
45 return linkDescription;
46 }
47
48 @Override
49 public String toString() {
50 return MoreObjects.toStringHelper(getClass())
51 .add("providerId", providerId)
52 .add("linkDescription", linkDescription)
53 .toString();
54 }
55
56 // for serializer
57 protected InternalLinkEvent() {
58 this.providerId = null;
59 this.linkDescription = null;
60 }
61}