blob: e7ec78177ef690e0bb6eb94359d9cd9a122920db [file] [log] [blame]
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2014-present Open Networking Laboratory
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07003 *
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 */
Brian O'Connorabafb502014-12-02 22:26:20 -080016package org.onosproject.store.link.impl;
Madan Jampani2ff05592014-10-10 15:42:47 -070017
18import com.google.common.base.MoreObjects;
19
Brian O'Connorabafb502014-12-02 22:26:20 -080020import org.onosproject.net.link.LinkDescription;
21import org.onosproject.net.provider.ProviderId;
22import org.onosproject.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}