net.handle.hdllib
Class SiteInfo

java.lang.Object
  extended by net.handle.hdllib.SiteInfo

public class SiteInfo
extends java.lang.Object


Field Summary
 Attribute[] attributes
           
 int dataFormatVersion
           
static byte HASH_TYPE_BY_ALL
           
static byte HASH_TYPE_BY_PREFIX
           
static byte HASH_TYPE_BY_SUFFIX
           
 byte[] hashFilter
           
 byte hashOption
           
 boolean isPrimary
           
 boolean isRoot
           
 byte majorProtocolVersion
           
 byte minorProtocolVersion
           
static short MULTI_PRIMARY
           
 boolean multiPrimary
           
static short PRIMARY_SITE
           
 long responseTime
           
 int serialNumber
           
 ServerInfo[] servers
           
 
Constructor Summary
SiteInfo()
          Default constructor: object uninitialized except as above.
SiteInfo(int siteVersion, boolean isPrimary, boolean isMultiPrimary, byte hashingOption, java.lang.String siteDescription, java.net.InetAddress listenAddr, java.net.InetAddress altAddr, int port, int httpPort, java.io.File pubKeyFile, boolean disableUDP)
           
SiteInfo(int siteVersion, boolean isPrimary, boolean isMultiPrimary, byte hashingOption, java.lang.String siteDescription, java.net.InetAddress listenAddr, int port, int httpPort, java.io.File pubKeyFile, boolean disableUDP)
          Constructor used by configuration routines.
SiteInfo(SiteInfo site)
           
 
Method Summary
 ServerInfo determineServer(byte[] handle)
          Return the ServerInfo that this handle hashes to
 int determineServerNum(byte[] handle)
          Shortcut to determineServerNum(handle, hashOption, numServers) using this.hashOption
static int determineServerNum(byte[] handle, int hashOption, int numServers)
          Return the index of the server that this handle hashes to
 boolean equals(java.lang.Object obj)
           
 byte[] getAttribute(byte[] attribute)
          Get the value of the specified attribute for this site (if any).
 java.lang.String getDomainForServer(int which)
           
static int getHandleHash(byte[] handle, int hashOption)
          Return the positive integer generated by hashing the part of this handle indicated by hashOption.
 java.util.HashMap getId2ServerMap()
           
 int hashCode()
           
 boolean hasZeroAddressServersAndDomain()
           
static void main(java.lang.String[] argv)
          Hash the given arguments as handles and display the results.
 java.lang.String toString()
          Return a string of labeled members of this object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

HASH_TYPE_BY_PREFIX

public static final byte HASH_TYPE_BY_PREFIX
See Also:
Constant Field Values

HASH_TYPE_BY_SUFFIX

public static final byte HASH_TYPE_BY_SUFFIX
See Also:
Constant Field Values

HASH_TYPE_BY_ALL

public static final byte HASH_TYPE_BY_ALL
See Also:
Constant Field Values

PRIMARY_SITE

public static final short PRIMARY_SITE
See Also:
Constant Field Values

MULTI_PRIMARY

public static final short MULTI_PRIMARY
See Also:
Constant Field Values

dataFormatVersion

public int dataFormatVersion

serialNumber

public int serialNumber

majorProtocolVersion

public byte majorProtocolVersion

minorProtocolVersion

public byte minorProtocolVersion

isPrimary

public boolean isPrimary

multiPrimary

public boolean multiPrimary

isRoot

public boolean isRoot

responseTime

public long responseTime

hashOption

public byte hashOption

hashFilter

public byte[] hashFilter

servers

public ServerInfo[] servers

attributes

public Attribute[] attributes
Constructor Detail

SiteInfo

public SiteInfo()
Default constructor: object uninitialized except as above.


SiteInfo

public SiteInfo(int siteVersion,
                boolean isPrimary,
                boolean isMultiPrimary,
                byte hashingOption,
                java.lang.String siteDescription,
                java.net.InetAddress listenAddr,
                int port,
                int httpPort,
                java.io.File pubKeyFile,
                boolean disableUDP)
         throws java.io.IOException
Constructor used by configuration routines.

Throws:
java.io.IOException

SiteInfo

public SiteInfo(int siteVersion,
                boolean isPrimary,
                boolean isMultiPrimary,
                byte hashingOption,
                java.lang.String siteDescription,
                java.net.InetAddress listenAddr,
                java.net.InetAddress altAddr,
                int port,
                int httpPort,
                java.io.File pubKeyFile,
                boolean disableUDP)
         throws java.io.IOException
Throws:
java.io.IOException

SiteInfo

public SiteInfo(SiteInfo site)
Method Detail

getAttribute

public byte[] getAttribute(byte[] attribute)
Get the value of the specified attribute for this site (if any).


getHandleHash

public static final int getHandleHash(byte[] handle,
                                      int hashOption)
                               throws HandleException
Return the positive integer generated by hashing the part of this handle indicated by hashOption.

Throws:
HandleException

determineServerNum

public final int determineServerNum(byte[] handle)
                             throws HandleException
Shortcut to determineServerNum(handle, hashOption, numServers) using this.hashOption

Throws:
HandleException

determineServerNum

public static final int determineServerNum(byte[] handle,
                                           int hashOption,
                                           int numServers)
                                    throws HandleException
Return the index of the server that this handle hashes to

Throws:
HandleException

determineServer

public ServerInfo determineServer(byte[] handle)
                           throws HandleException
Return the ServerInfo that this handle hashes to

Throws:
HandleException

toString

public java.lang.String toString()
Return a string of labeled members of this object.

Overrides:
toString in class java.lang.Object

getId2ServerMap

public java.util.HashMap getId2ServerMap()

main

public static final void main(java.lang.String[] argv)
                       throws java.lang.Exception
Hash the given arguments as handles and display the results.

Throws:
java.lang.Exception

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

getDomainForServer

public java.lang.String getDomainForServer(int which)

hasZeroAddressServersAndDomain

public boolean hasZeroAddressServersAndDomain()