16 package org.openkilda.messaging.info.event;
18 import com.fasterxml.jackson.annotation.JsonCreator;
19 import com.fasterxml.jackson.annotation.JsonIgnore;
20 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
21 import com.fasterxml.jackson.annotation.JsonInclude;
22 import com.fasterxml.jackson.annotation.JsonProperty;
25 import java.util.List;
26 import java.util.Objects;
32 @JsonInclude(JsonInclude.Include.NON_NULL)
33 @JsonIgnoreProperties(ignoreUnknown =
true)
38 private static final long serialVersionUID = 1L;
44 protected final String
id;
49 @JsonProperty("speed")
50 private final
long speed;
55 @JsonProperty("available_bandwidth")
56 private
long availableBandwidth;
61 @JsonProperty("state")
64 @JsonProperty("time_create")
65 private final Long timeCreateMillis;
67 @JsonProperty("time_modify")
68 private final Long timeModifyMillis;
80 that.getAvailableBandwidth(),
82 that.getTimeCreateMillis(),
83 that.getTimeModifyMillis());
92 this(-1,
path, 0, 0, state, null, null);
96 this(latency,
path, speed, availableBandwidth, state, null, null);
101 @JsonProperty(
"path") List<PathNode>
path,
102 @JsonProperty(
"speed")
long speed,
103 @JsonProperty(
"available_bandwidth")
long availableBandwidth,
105 @JsonProperty(
"time_create") Long timeCreateMillis,
106 @JsonProperty(
"time_modify") Long timeModifyMillis) {
107 super(latency,
path);
110 this.availableBandwidth = availableBandwidth;
112 this.timeCreateMillis = timeCreateMillis;
113 this.timeModifyMillis = timeModifyMillis;
114 this.
id = String.format(
"%s_%d",
path.get(0).getSwitchId(),
path.get(0).getPortNo());
123 this.availableBandwidth = availableBandwidth;
142 PathNode destination = this.getPath().get(1);
151 return Objects.hash(latency,
path, speed, availableBandwidth, state);
159 if (
this ==
object) {
162 if (
object == null || getClass() !=
object.getClass()) {
168 && Objects.equals(getPath(), that.
getPath())
169 && Objects.equals(getSpeed(), that.getSpeed())
170 && Objects.equals(getAvailableBandwidth(), that.getAvailableBandwidth())
171 && Objects.equals(getState(), that.getState());
IslInfoData(long latency, List< PathNode > path, long speed, IslChangeType state, long availableBandwidth)
boolean equals(Object object)
void setAvailableBandwidth(long availableBandwidth)
IslInfoData(@JsonProperty("latency_ns") long latency, @JsonProperty("path") List< PathNode > path, @JsonProperty("speed") long speed, @JsonProperty("available_bandwidth") long availableBandwidth, @JsonProperty("state") IslChangeType state, @JsonProperty("time_create") Long timeCreateMillis, @JsonProperty("time_modify") Long timeModifyMillis)
boolean equals(Object object)
List< PathNode > getPath()
void setState(IslChangeType state)
IslInfoData(List< PathNode > path, IslChangeType state)