Home | History | Annotate | Download | only in constants
      1 // Copyright 2003-2005 Arthur van Hoff, Rick Blair
      2 // Licensed under Apache License version 2.0
      3 // Original license LGPL
      4 
      5 package javax.jmdns.impl.constants;
      6 
      7 /**
      8  * DNS constants.
      9  *
     10  * @author Arthur van Hoff, Jeff Sonstein, Werner Randelshofer, Pierre Frisch, Rick Blair
     11  */
     12 public final class DNSConstants {
     13     // http://www.iana.org/assignments/dns-parameters
     14 
     15     // changed to final class - jeffs
     16     public static final String MDNS_GROUP                     = "224.0.0.251";
     17     public static final String MDNS_GROUP_IPV6                = "FF02::FB";
     18     public static final int    MDNS_PORT                      = Integer.parseInt(System.getProperty("net.mdns.port", "5353"));
     19     public static final int    DNS_PORT                       = 53;
     20 
     21     // One hour expiration time
     22     public static final int    DNS_TTL                        = 25; //60 * 60;
     23 
     24     public static final int    MAX_MSG_TYPICAL                = 1460;
     25     public static final int    MAX_MSG_ABSOLUTE               = 8972;
     26 
     27     public static final int    FLAGS_QR_MASK                  = 0x8000;                                                       // Query response mask
     28     public static final int    FLAGS_QR_QUERY                 = 0x0000;                                                       // Query
     29     public static final int    FLAGS_QR_RESPONSE              = 0x8000;                                                       // Response
     30 
     31     public static final int    FLAGS_AA                       = 0x0400;                                                       // Authorative answer
     32     public static final int    FLAGS_TC                       = 0x0200;                                                       // Truncated
     33     public static final int    FLAGS_RD                       = 0x0100;                                                       // Recursion desired
     34     public static final int    FLAGS_RA                       = 0x8000;                                                       // Recursion available
     35 
     36     public static final int    FLAGS_Z                        = 0x0040;                                                       // Zero
     37     public static final int    FLAGS_AD                       = 0x0020;                                                       // Authentic data
     38     public static final int    FLAGS_CD                       = 0x0010;                                                       // Checking disabled
     39 
     40     // Time Intervals for various functions
     41 
     42     public static final int    SHARED_QUERY_TIME              = 20;                                                           // milliseconds before send shared query
     43     public static final int    QUERY_WAIT_INTERVAL            = 225;                                                          // milliseconds between query loops.
     44     public static final int    PROBE_WAIT_INTERVAL            = 250;                                                          // milliseconds between probe loops.
     45     public static final int    RESPONSE_MIN_WAIT_INTERVAL     = 20;                                                           // minimal wait interval for response.
     46     public static final int    RESPONSE_MAX_WAIT_INTERVAL     = 115;                                                          // maximal wait interval for response
     47     public static final int    PROBE_CONFLICT_INTERVAL        = 1000;                                                         // milliseconds to wait after conflict.
     48     public static final int    PROBE_THROTTLE_COUNT           = 10;                                                           // After x tries go 1 time a sec. on probes.
     49     public static final int    PROBE_THROTTLE_COUNT_INTERVAL  = 5000;                                                         // We only increment the throttle count, if the previous increment is inside this interval.
     50     public static final int    ANNOUNCE_WAIT_INTERVAL         = 1000;                                                         // milliseconds between Announce loops.
     51     public static final int    RECORD_REAPER_INTERVAL         = 10000;                                                        // milliseconds between cache cleanups.
     52     public static final int    RECORD_EXPIRY_DELAY            = 1;                                                            // This is 1s delay used in ttl and therefore in seconds
     53     public static final int    KNOWN_ANSWER_TTL               = 120;
     54     public static final int    ANNOUNCED_RENEWAL_TTL_INTERVAL = DNS_TTL * 500;                                                // 50% of the TTL in milliseconds
     55 
     56     public static final long   CLOSE_TIMEOUT                  = ANNOUNCE_WAIT_INTERVAL * 5L;
     57     public static final long   SERVICE_INFO_TIMEOUT           = ANNOUNCE_WAIT_INTERVAL * 6L;
     58 
     59     public static final int    NETWORK_CHECK_INTERVAL         = 10 * 1000;                                                    // 10 secondes
     60 
     61 }
     62