00001 // Copyright 2003-2005 Arthur van Hoff, Rick Blair 00002 // Licensed under Apache License version 2.0 00003 // Original license LGPL 00004 00005 package javax.jmdns.impl.constants; 00006 00012 public final class DNSConstants { 00013 // http://www.iana.org/assignments/dns-parameters 00014 00015 // changed to final class - jeffs 00016 public static final String MDNS_GROUP = "224.0.0.251"; 00017 public static final String MDNS_GROUP_IPV6 = "FF02::FB"; 00018 public static final int MDNS_PORT = Integer.parseInt(System.getProperty("net.mdns.port", "5353")); 00019 public static final int DNS_PORT = 53; 00020 public static final int DNS_TTL = 60 * 60; // default one hour TTL 00021 // public static final int DNS_TTL = 120 * 60; // two hour TTL (draft-cheshire-dnsext-multicastdns.txt ch 13) 00022 00023 public static final int MAX_MSG_TYPICAL = 1460; 00024 public static final int MAX_MSG_ABSOLUTE = 8972; 00025 00026 public static final int FLAGS_QR_MASK = 0x8000; // Query response mask 00027 public static final int FLAGS_QR_QUERY = 0x0000; // Query 00028 public static final int FLAGS_QR_RESPONSE = 0x8000; // Response 00029 00030 public static final int FLAGS_AA = 0x0400; // Authorative answer 00031 public static final int FLAGS_TC = 0x0200; // Truncated 00032 public static final int FLAGS_RD = 0x0100; // Recursion desired 00033 public static final int FLAGS_RA = 0x8000; // Recursion available 00034 00035 public static final int FLAGS_Z = 0x0040; // Zero 00036 public static final int FLAGS_AD = 0x0020; // Authentic data 00037 public static final int FLAGS_CD = 0x0010; // Checking disabled 00038 00039 // Time Intervals for various functions 00040 00041 public static final int SHARED_QUERY_TIME = 20; // milliseconds before send shared query 00042 public static final int QUERY_WAIT_INTERVAL = 225; // milliseconds between query loops. 00043 public static final int PROBE_WAIT_INTERVAL = 250; // milliseconds between probe loops. 00044 public static final int RESPONSE_MIN_WAIT_INTERVAL = 20; // minimal wait interval for response. 00045 public static final int RESPONSE_MAX_WAIT_INTERVAL = 115; // maximal wait interval for response 00046 public static final int PROBE_CONFLICT_INTERVAL = 1000; // milliseconds to wait after conflict. 00047 public static final int PROBE_THROTTLE_COUNT = 10; // After x tries go 1 time a sec. on probes. 00048 public static final int PROBE_THROTTLE_COUNT_INTERVAL = 5000; // We only increment the throttle count, if the previous increment is inside this interval. 00049 public static final int ANNOUNCE_WAIT_INTERVAL = 1000; // milliseconds between Announce loops. 00050 public static final int RECORD_REAPER_INTERVAL = 10000; // milliseconds between cache cleanups. 00051 public static final int RECORD_EXPIRY_DELAY = 1; // This is 1s delay used in ttl and therefore in seconds 00052 public static final int KNOWN_ANSWER_TTL = 120; 00053 public static final int ANNOUNCED_RENEWAL_TTL_INTERVAL = DNS_TTL * 500; // 50% of the TTL in milliseconds 00054 00055 public static final long CLOSE_TIMEOUT = ANNOUNCE_WAIT_INTERVAL * 5L; 00056 public static final long SERVICE_INFO_TIMEOUT = ANNOUNCE_WAIT_INTERVAL * 6L; 00057 00058 public static final int NETWORK_CHECK_INTERVAL = 10 * 1000; // 10 secondes 00059 00060 }