Class SiteInfo

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

public class SiteInfo extends Object
  • Field Details

    • DOMAIN

      public static final String DOMAIN
      See Also:
    • PATH

      public static final String PATH
      See Also:
    • HASH_TYPE_BY_PREFIX

      public static final byte HASH_TYPE_BY_PREFIX
      See Also:
    • HASH_TYPE_BY_SUFFIX

      public static final byte HASH_TYPE_BY_SUFFIX
      See Also:
    • HASH_TYPE_BY_ALL

      public static final byte HASH_TYPE_BY_ALL
      See Also:
    • PRIMARY_SITE

      public static final short PRIMARY_SITE
      See Also:
    • MULTI_PRIMARY

      public static final short MULTI_PRIMARY
      See Also:
    • 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 Details

    • SiteInfo

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

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

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

      public SiteInfo(SiteInfo site)
  • Method Details

    • 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 String toString()
      Return a string of labeled members of this object.
      Overrides:
      toString in class Object
    • getId2ServerMap

      public HashMap<Integer,ServerInfo> getId2ServerMap()
    • main

      public static final void main(String[] argv) throws Exception
      Hash the given arguments as handles and display the results.
      Throws:
      Exception
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getAttributeForServer

      public String getAttributeForServer(String attribute, int which)
    • getDomainForServer

      public String getDomainForServer(int which)
    • hasZeroAddressServersAndDomain

      public boolean hasZeroAddressServersAndDomain()