Speeding up stuff.
HostDescription now passes up just a single IpAddress.
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/DefaultHostDescription.java b/core/api/src/main/java/org/onlab/onos/net/host/DefaultHostDescription.java
index bc6e3e5..2e92dad 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/DefaultHostDescription.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/DefaultHostDescription.java
@@ -1,6 +1,5 @@
package org.onlab.onos.net.host;
-import com.google.common.collect.ImmutableSet;
import org.onlab.onos.net.AbstractDescription;
import org.onlab.onos.net.HostLocation;
import org.onlab.onos.net.SparseAnnotations;
@@ -8,9 +7,6 @@
import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
-import java.util.HashSet;
-import java.util.Set;
-
import static com.google.common.base.MoreObjects.toStringHelper;
/**
@@ -22,7 +18,7 @@
private final MacAddress mac;
private final VlanId vlan;
private final HostLocation location;
- private final Set<IpPrefix> ips;
+ private final IpPrefix ip;
/**
* Creates a host description using the supplied information.
@@ -35,7 +31,7 @@
public DefaultHostDescription(MacAddress mac, VlanId vlan,
HostLocation location,
SparseAnnotations... annotations) {
- this(mac, vlan, location, new HashSet<IpPrefix>(), annotations);
+ this(mac, vlan, location, null, annotations);
}
/**
@@ -44,17 +40,17 @@
* @param mac host MAC address
* @param vlan host VLAN identifier
* @param location host location
- * @param ips of host IP addresses
+ * @param ip host IP address
* @param annotations optional key/value annotations map
*/
public DefaultHostDescription(MacAddress mac, VlanId vlan,
- HostLocation location, Set<IpPrefix> ips,
+ HostLocation location, IpPrefix ip,
SparseAnnotations... annotations) {
super(annotations);
this.mac = mac;
this.vlan = vlan;
this.location = location;
- this.ips = new HashSet<>(ips);
+ this.ip = ip;
}
@Override
@@ -73,8 +69,8 @@
}
@Override
- public Set<IpPrefix> ipAddresses() {
- return ImmutableSet.copyOf(ips);
+ public IpPrefix ipAddress() {
+ return ip;
}
@Override
@@ -83,7 +79,7 @@
.add("mac", mac)
.add("vlan", vlan)
.add("location", location)
- .add("ipAddresses", ips)
+ .add("ipAddress", ip)
.toString();
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostDescription.java b/core/api/src/main/java/org/onlab/onos/net/host/HostDescription.java
index 27014b6..f45a383 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostDescription.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostDescription.java
@@ -1,7 +1,5 @@
package org.onlab.onos.net.host;
-import java.util.Set;
-
import org.onlab.onos.net.Description;
import org.onlab.onos.net.HostLocation;
import org.onlab.packet.IpPrefix;
@@ -35,10 +33,10 @@
HostLocation location();
/**
- * Returns zero or more IP address(es) associated with this host's MAC.
+ * Returns the IP address associated with this host's MAC.
*
- * @return a set of IP addresses.
+ * @return host IP address
*/
- Set<IpPrefix> ipAddresses();
+ IpPrefix ipAddress();
}
diff --git a/core/api/src/test/java/org/onlab/onos/event/AbstractEventAccumulatorTest.java b/core/api/src/test/java/org/onlab/onos/event/AbstractEventAccumulatorTest.java
index 9e561bf..ed18195 100644
--- a/core/api/src/test/java/org/onlab/onos/event/AbstractEventAccumulatorTest.java
+++ b/core/api/src/test/java/org/onlab/onos/event/AbstractEventAccumulatorTest.java
@@ -45,15 +45,18 @@
public void timeTrigger() {
TestAccumulator accumulator = new TestAccumulator();
accumulator.add(new TestEvent(FOO, "a"));
- delay(40);
+ delay(30);
assertTrue("should not have fired yet", accumulator.batch.isEmpty());
accumulator.add(new TestEvent(FOO, "b"));
- delay(40);
+ delay(30);
assertTrue("should not have fired yet", accumulator.batch.isEmpty());
accumulator.add(new TestEvent(FOO, "c"));
- delay(40);
+ delay(30);
+ assertTrue("should not have fired yet", accumulator.batch.isEmpty());
+ accumulator.add(new TestEvent(FOO, "d"));
+ delay(30);
assertFalse("should have fired", accumulator.batch.isEmpty());
- assertEquals("incorrect batch", "abc", accumulator.batch);
+ assertEquals("incorrect batch", "abcd", accumulator.batch);
}
@Test
diff --git a/core/api/src/test/java/org/onlab/onos/net/host/DefualtHostDecriptionTest.java b/core/api/src/test/java/org/onlab/onos/net/host/DefualtHostDecriptionTest.java
index 1b00be7..5ae7c27 100644
--- a/core/api/src/test/java/org/onlab/onos/net/host/DefualtHostDecriptionTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/host/DefualtHostDecriptionTest.java
@@ -1,10 +1,5 @@
package org.onlab.onos.net.host;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Set;
-
import org.junit.Test;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.HostLocation;
@@ -13,7 +8,8 @@
import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
-import com.google.common.collect.Sets;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Test for the default host description.
@@ -22,24 +18,22 @@
private static final MacAddress MAC = MacAddress.valueOf("00:00:11:00:00:01");
private static final VlanId VLAN = VlanId.vlanId((short) 10);
+ private static final IpPrefix IP = IpPrefix.valueOf("10.0.0.1");
+
private static final HostLocation LOC = new HostLocation(
- DeviceId.deviceId("of:foo"),
- PortNumber.portNumber(100),
- 123L
- );
- private static final Set<IpPrefix> IPS = Sets.newHashSet(
- IpPrefix.valueOf("10.0.0.1"),
- IpPrefix.valueOf("10.0.0.2")
- );
+ DeviceId.deviceId("of:foo"),
+ PortNumber.portNumber(100),
+ 123L
+ );
@Test
public void basics() {
HostDescription host =
- new DefaultHostDescription(MAC, VLAN, LOC, IPS);
+ new DefaultHostDescription(MAC, VLAN, LOC, IP);
assertEquals("incorrect mac", MAC, host.hwAddress());
assertEquals("incorrect vlan", VLAN, host.vlan());
assertEquals("incorrect location", LOC, host.location());
- assertTrue("incorrect ip's", IPS.equals(host.ipAddresses()));
+ assertEquals("incorrect ip's", IP, host.ipAddress());
assertTrue("incorrect toString", host.toString().contains("vlan=10"));
}