diff options
| author | Markus Alexander Kuppe | 2010-07-15 12:23:59 +0000 |
|---|---|---|
| committer | Markus Alexander Kuppe | 2010-07-15 12:23:59 +0000 |
| commit | 41364653f389fc327d30b293e04dabbdb1e4b062 (patch) | |
| tree | bdeba1c46aa84a110e8c0374ac0620ca760ed72a | |
| parent | 5b8d512eced688c6cf1b1517d8b07e1e2b1a0e92 (diff) | |
| download | org.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
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(); |
