FileDocCategorySizeDatePackage
NtpUtils.javaAPI DocApache Commons NET 1.4.1 API3734Sat Dec 03 10:05:50 GMT 2005org.apache.commons.net.ntp

NtpUtils

public final class NtpUtils extends Object
Common NtpUtils Helper class.
author
Jason Mathews, MITRE Corp
version
$Revision: 165675 $ $Date: 2005-05-02 15:09:55 -0500 (Mon, 02 May 2005) $

Fields Summary
Constructors Summary
Methods Summary
public static java.lang.StringgetHostAddress(int address)
Returns 32-bit integer address to IPv4 address string "%d.%d.%d.%d" format.

param
address the 32-bit address
return
the raw IP address in a string format.

          return ((address >>> 24) & 0xFF) + "." +
                 ((address >>> 16) & 0xFF) + "." +
                 ((address >>>  8) & 0xFF) + "." +
                 ((address >>>  0) & 0xFF);
     
public static java.lang.StringgetModeName(int mode)
Return human-readable name of message mode type (RFC 1305).

param
mode
return
mode name

        switch (mode) {
            case NtpV3Packet.MODE_RESERVED:
                return "Reserved";
            case NtpV3Packet.MODE_SYMMETRIC_ACTIVE:
                return "Symmetric Active";
            case NtpV3Packet.MODE_SYMMETRIC_PASSIVE:
                return "Symmetric Passive";
            case NtpV3Packet.MODE_CLIENT:
                return "Client";
            case NtpV3Packet.MODE_SERVER:
                return "Server";
            case NtpV3Packet.MODE_BROADCAST:
                return "Broadcast";
            case NtpV3Packet.MODE_CONTROL_MESSAGE:
                return "Control";
            case NtpV3Packet.MODE_PRIVATE:
                return "Private";
            default:
                return "Unknown";
        }
    
public static java.lang.StringgetRefAddress(NtpV3Packet packet)
Returns NTP packet reference identifier as IP address.

param
packet NTP packet
return
the packet reference id (as IP address) in "%d.%d.%d.%d" format.

         int address = (packet == null) ? 0 : packet.getReferenceId();
         return getHostAddress(address);
     
public static java.lang.StringgetReferenceClock(NtpV3Packet message)
Get refId as reference clock string (e.g. GPS, WWV, LCL). If string is invalid (non-ASCII character) then returns empty string "". For details refer to the Comprehensive List of Clock Drivers.

param
message
return
reference clock string if primary NTP server

        if (message == null)
            return "";
        int refId = message.getReferenceId();
        if (refId == 0)
            return "";
        StringBuffer buf = new StringBuffer(4);
        // start at highest-order byte (0x4c434c00 -> LCL)
        for (int shiftBits = 24; shiftBits >= 0; shiftBits -= 8)
        {
            char c = (char) ((refId >>> shiftBits) & 0xff);
            if (c == 0) break; // 0-terminated ASCII string
            if (!Character.isLetterOrDigit(c))
                return "";
            buf.append(c);
        }
        return buf.toString();