Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Alexander Kuppe2010-07-15 12:23:59 +0000
committerMarkus Alexander Kuppe2010-07-15 12:23:59 +0000
commit41364653f389fc327d30b293e04dabbdb1e4b062 (patch)
treebdeba1c46aa84a110e8c0374ac0620ca760ed72a
parent5b8d512eced688c6cf1b1517d8b07e1e2b1a0e92 (diff)
downloadorg.eclipse.ecf-41364653f389fc327d30b293e04dabbdb1e4b062.tar.gz
org.eclipse.ecf-41364653f389fc327d30b293e04dabbdb1e4b062.tar.xz
org.eclipse.ecf-41364653f389fc327d30b293e04dabbdb1e4b062.zip
NEW - bug 319878: [Discovery] Add time to live (TTL) to IServiceInfo
https://bugs.eclipse.org/bugs/show_bug.cgi?id=319878
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserComparator.java8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryComparator.java3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java1
3 files changed, 8 insertions, 4 deletions
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserComparator.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserComparator.java
index 0a1dffac7..9515a97e5 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserComparator.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserComparator.java
@@ -21,6 +21,8 @@ import org.xbill.DNS.TXTRecord;
public class DnsSdAdvertiserComparator implements Comparator {
+ private static final int membercount = 5;
+
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
@@ -30,7 +32,7 @@ public class DnsSdAdvertiserComparator implements Comparator {
final IServiceInfo serviceInfo = (IServiceInfo) arg0;
if (arg1 instanceof List) {
- result = (serviceInfo.getServiceProperties().size() + 5) * -1;
+ result = (serviceInfo.getServiceProperties().size() + membercount) * -1;
final List records = (List) arg1;
for (final Iterator itr = records.iterator(); itr.hasNext();) {
@@ -50,7 +52,7 @@ public class DnsSdAdvertiserComparator implements Comparator {
}
}
} else if(arg1 instanceof SRVRecord) {
- result = compareSrvRecord(-5, serviceInfo, (SRVRecord) arg1);
+ result = compareSrvRecord(-membercount, serviceInfo, (SRVRecord) arg1);
}
}
return result;
@@ -65,7 +67,7 @@ public class DnsSdAdvertiserComparator implements Comparator {
final String target = srvRec.getTarget().toString();
result += serviceInfo.getPriority() == srvRec.getPriority() ? 1 : -1;
result += serviceInfo.getWeight() == srvRec.getWeight() ? 1 : -1;
- result += 3600 == srvRec.getTTL() ? 1 : -1;
+ result += DnsSdTestHelper.TTL == srvRec.getTTL() ? 1 : -1;
result += serviceInfo.getLocation().getHost().equals(target.substring(0, target.length() - 1)) ? 1 : -1;
result += serviceInfo.getLocation().getPort() == srvRec.getPort() ? 1 : -1;
}
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryComparator.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryComparator.java
index 77a0bf953..13ef9c0e7 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryComparator.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryComparator.java
@@ -29,7 +29,8 @@ public class DnsSdDiscoveryComparator extends ServiceInfoComparator {
boolean prioSame = first.getPriority() == second.getPriority();
boolean weightSame = first.getWeight() == second.getWeight();
boolean servicePropertiesSame = compareServiceProperties(first.getServiceProperties(), second.getServiceProperties());
- final boolean result = (idsSame && prioSame && weightSame && servicePropertiesSame);
+ boolean ttlSame = first.getTTL() <= second.getTTL(); // <= due to the fact that we might get a cache hit during testing which ttl has already decreased
+ final boolean result = (idsSame && prioSame && weightSame && servicePropertiesSame && ttlSame);
if (result == true) {
return 0;
}
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java
index 557989598..9b59a3a1e 100644
--- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java
+++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java
@@ -37,6 +37,7 @@ public class DnsSdTestHelper {
public static final String REG_DOMAIN = "dnssd2.ecf-project.org";
public static final String REG_SCHEME = "junit";
+ public static final long TTL = 600;
public static IServiceInfo createServiceInfo(Namespace namespace) {
final Properties props = new Properties();

Back to the top