|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectanon.infoservice.AbstractDatabaseEntry
anon.infoservice.AbstractDistributableDatabaseEntry
anon.infoservice.AbstractDistributableCertifiedDatabaseEntry
anon.infoservice.InfoServiceDBEntry
public class InfoServiceDBEntry
Holds the information for an infoservice.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
|---|
AbstractDistributableDatabaseEntry.SerialDBEntry, AbstractDistributableDatabaseEntry.Serials |
| Field Summary | |
|---|---|
static int |
DEFAULT_GET_XML_CONNECTION_TIMEOUT
|
static java.lang.String |
XML_ELEMENT_CONTAINER_NAME
|
static java.lang.String |
XML_ELEMENT_NAME
|
| Fields inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
|---|
XML_ATTR_LAST_UPDATE, XML_ATTR_SERIAL, XML_ATTR_VALID, XML_ATTR_VERIFIED |
| Fields inherited from class anon.infoservice.AbstractDatabaseEntry |
|---|
XML_LAST_UPDATE |
| Fields inherited from interface anon.infoservice.IDistributable |
|---|
FIELD_HTTP_REQUEST_STRING, FIELD_HTTP_SERIALS_REQUEST_STRING |
| Fields inherited from interface anon.util.IXMLEncodable |
|---|
FIELD_XML_ELEMENT_CONTAINER_NAME, FIELD_XML_ELEMENT_NAME, XML_ATTR_ID, XML_ATTR_VERSION |
| Constructor Summary | |
|---|---|
InfoServiceDBEntry(org.w3c.dom.Element a_infoServiceNode)
Creates a new InfoService from XML description (InfoService node). |
|
InfoServiceDBEntry(org.w3c.dom.Element a_infoServiceNode,
long a_timeout)
Creates a new InfoService from XML description (InfoService node). |
|
InfoServiceDBEntry(java.lang.String a_host,
int a_port)
This is a JAP-only constructor needed to initialise JAP with default InfoServices. |
|
InfoServiceDBEntry(java.lang.String a_strName,
java.lang.String a_id,
java.util.Vector a_listeners,
boolean a_primaryForwarderList,
boolean a_japClientContext,
long a_creationTime,
long a_serialNumber,
boolean a_bPerfServerEnabled)
Creates a new InfoServiceDBEntry. |
|
| Method Summary | |
|---|---|
boolean |
checkId()
Checks if the ID is valid. |
boolean |
equals(java.lang.Object a_object)
Compares this object to another one. |
anon.crypto.MultiCertPath |
getCertPath()
|
static int |
getConnectionTimeout()
|
java.lang.Object |
getExitAddresses()
|
org.w3c.dom.Element |
getForwarder()
Downloads a forwarder entry from the infoservice. |
java.lang.String |
getId()
Returns the ID of the infoservice. |
java.util.Hashtable |
getInfoServices()
Get a Vector of all infoservices the infoservice knows. |
java.util.Hashtable |
getInfoServices(boolean a_bJAPClientContext)
|
java.util.Hashtable |
getInfoServiceSerials()
|
JAPVersionInfo |
getJAPVersionInfo(int a_japVersionType)
Returns the JAPVersionInfo for the specified type. |
long |
getLastUpdate()
Returns the time in milliseconds when this db entry was created from the origin instance. |
java.util.Hashtable |
getLatestJava()
Get the latest java versions the infoservice knows ordered by vendors. |
java.util.Hashtable |
getLatestJavaSerials()
|
java.util.Vector |
getListenerInterfaces()
Returns a snapshot of all listener interfaces of this infoservice. |
java.util.Hashtable |
getMessages()
|
java.util.Hashtable |
getMessageSerials()
|
MixCascade |
getMixCascadeInfo(java.lang.String a_cascadeID)
Gets information about a specific cascade from the InfoService. |
java.util.Hashtable |
getMixCascades()
Get a Vector of all mixcascades the infoservice knows. |
java.util.Hashtable |
getMixCascades(boolean a_bJAPClientContext)
|
java.util.Hashtable |
getMixCascadeSerials()
|
java.util.Hashtable |
getMixes(boolean a_bJAPClientContext)
|
MixInfo |
getMixInfo(java.lang.String mixId)
Get the MixInfo for the mix with the given ID. |
byte[] |
getMixminionNodesList()
Get the list with the mixminion nodes from the infoservice. |
java.lang.String |
getName()
Returns the name of the infoservice. |
JAPMinVersion |
getNewVersionNumber()
Get the version String of the currently minimum required JAP version from the infoservice. |
anon.pay.PaymentInstanceDBEntry |
getPaymentInstance(java.lang.String a_piID)
|
java.util.Hashtable |
getPaymentInstances()
Get a Vector of all payment instances the infoservice knows. |
java.util.Hashtable |
getPaymentInstances(boolean a_bJAPClientContext)
|
PerformanceInfo |
getPerformanceInfo()
Sends a /performanceinfo request to the Info Service, retrieves the data and creates a new PerformanceInfo object. |
java.lang.String |
getPostFile()
This returns the filename (InfoService command), where this InfoServerDBEntry is posted at other InfoServices. |
anon.crypto.XMLSignature |
getSignature()
|
StatusInfo |
getStatusInfo(MixCascade a_cascade)
Get the StatusInfo for the cascade with the given ID. |
StatusInfo |
getStatusInfo(MixCascade a_cascade,
long a_timeout)
Get the StatusInfo for the cascade with the given ID. |
TermsAndConditionsFramework |
getTCFramework(java.lang.String a_id)
Get the MixInfo for the mix with the given ID. |
java.util.Hashtable |
getTermsAndConditions()
|
java.util.Hashtable |
getTermsAndConditionSerials()
|
byte[] |
getTorNodesList()
Get the list with the tor nodes from the infoservice. |
long |
getVersionNumber()
Returns the time when this infoservice entry was created by the origin infoservice or by the JAP client (if it is a user-defined entry). |
org.w3c.dom.Element |
getXmlStructure()
Returns the XML structure for this db entry. |
int |
hashCode()
Returns a hashcode for this instance of InfoServiceDBEntry. |
boolean |
hasPrimaryForwarderList()
Returns, whether this infoservice keeps a list of JAP forwarders (true) or not (false). |
boolean |
isBootstrap()
|
boolean |
isNeighbour()
Returns whether this infoservice is a neighbour of our one. |
boolean |
isPerfServerEnabled()
|
boolean |
isUserDefined()
Returns whether this InfoServiceDBEntry was generated by a user within the JAP client (true) or was generated by the InfoService itself (false). |
boolean |
isValid()
Returns if the object is valid at this time |
boolean |
isVerified()
Returns if this entry has been verified with a certificate chain. |
void |
markAsBootstrap()
|
org.w3c.dom.Element |
postNewForwarder(org.w3c.dom.Element a_japForwarderNode)
Posts a new forwarder to an infoservice with a JAP forwarder list. |
org.w3c.dom.Element |
postRenewForwarder(org.w3c.dom.Element a_japForwarderNode)
Posts the renew message for a forwarder to an infoservice with a JAP forwarder list. |
static void |
setConnectionTimeout(int a_timeoutMS)
|
static void |
setJVMNetworkErrorHandling(java.lang.Runnable a_threadRestartAfterJVMSocketError,
long a_timeRestartAfterJVMSocketError)
Sets the options for handling a JVM socket error that cannot be recovered. |
static void |
setMutableProxyInterface(IMutableProxyInterface a_proxyInterface)
|
void |
setNeighbour(boolean a_bNeighbour)
Forces this InfoService to be a neighbour or not. |
void |
setUserDefined(boolean b)
|
java.lang.String |
toString()
Returns a String representation for this InfoService object. |
| Methods inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
|---|
getHttpRequestString, getHttpSerialsRequestString, getPostData, getPostEncoding, toXmlElement |
| Methods inherited from class anon.infoservice.AbstractDatabaseEntry |
|---|
getCreationTime, getExpireTime, isNewerThan, resetCreationTime |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String XML_ELEMENT_CONTAINER_NAME
public static final java.lang.String XML_ELEMENT_NAME
public static final int DEFAULT_GET_XML_CONNECTION_TIMEOUT
| Constructor Detail |
|---|
public InfoServiceDBEntry(org.w3c.dom.Element a_infoServiceNode)
throws anon.util.XMLParseException
a_infoServiceNode - The InfoService node from an XML document.
anon.util.XMLParseException - if an error in the xml structure occurs
public InfoServiceDBEntry(org.w3c.dom.Element a_infoServiceNode,
long a_timeout)
throws anon.util.XMLParseException
a_infoServiceNode - The InfoService node from an XML document.a_timeout - The timeout of the new InfoServiceDBEntry within the database of all
InfoServices, see System.currentTimeMillis().
anon.util.XMLParseException - if an error in the xml structure occurs
public InfoServiceDBEntry(java.lang.String a_host,
int a_port)
throws java.lang.IllegalArgumentException
a_host - host name of this info servicea_port - the port where this IS is reachable
java.lang.IllegalArgumentException
public InfoServiceDBEntry(java.lang.String a_strName,
java.lang.String a_id,
java.util.Vector a_listeners,
boolean a_primaryForwarderList,
boolean a_japClientContext,
long a_creationTime,
long a_serialNumber,
boolean a_bPerfServerEnabled)
throws java.lang.IllegalArgumentException
a_strName - The name of the infoservice or null, if a generic name shall be used.a_listeners - The listeners the infoservice is (virtually) listening on.a_primaryForwarderList - Whether the infoservice holds a primary forwarder list.a_japClientContext - Whether the new entry will be created within the context of the
JAP client (true) or the context of the InfoService (false). This
setting influences the timeout of the created entry within the
database of all infoservices.a_serialNumber - the serial number that indicates if the document has changed since the last
time it was updated
java.lang.IllegalArgumentException - if invalid listener interfaces are given| Method Detail |
|---|
public static void setConnectionTimeout(int a_timeoutMS)
public static int getConnectionTimeout()
public static void setMutableProxyInterface(IMutableProxyInterface a_proxyInterface)
public static void setJVMNetworkErrorHandling(java.lang.Runnable a_threadRestartAfterJVMSocketError,
long a_timeRestartAfterJVMSocketError)
a_threadRestartAfterJVMSocketError - Runnablea_timeRestartAfterJVMSocketError - longpublic java.lang.String getId()
getId in interface IDistributablegetId in class AbstractDatabaseEntrypublic org.w3c.dom.Element getXmlStructure()
AbstractDistributableDatabaseEntry
getXmlStructure in class AbstractDistributableDatabaseEntrypublic java.lang.String getName()
public boolean isVerified()
AbstractDistributableCertifiedDatabaseEntry
isVerified in interface anon.crypto.IVerifyableisVerified in interface ICertifiedDatabaseEntryisVerified in class AbstractDistributableCertifiedDatabaseEntrypublic boolean isValid()
anon.crypto.IVerifyable
isValid in interface anon.crypto.IVerifyablepublic boolean isPerfServerEnabled()
public boolean checkId()
AbstractDistributableCertifiedDatabaseEntry
checkId in interface ICertifiedDatabaseEntrycheckId in class AbstractDistributableCertifiedDatabaseEntrypublic anon.crypto.XMLSignature getSignature()
getSignature in interface ICertifiedDatabaseEntrygetSignature in class AbstractDistributableCertifiedDatabaseEntrypublic anon.crypto.MultiCertPath getCertPath()
getCertPath in interface anon.crypto.IVerifyablegetCertPath in interface ICertifiedDatabaseEntrypublic long getLastUpdate()
AbstractDatabaseEntry
getLastUpdate in class AbstractDatabaseEntrypublic long getVersionNumber()
getVersionNumber in class AbstractDatabaseEntrypublic boolean hasPrimaryForwarderList()
public java.util.Vector getListenerInterfaces()
public boolean isUserDefined()
isUserDefined in class AbstractDatabaseEntrypublic void setUserDefined(boolean b)
public void markAsBootstrap()
public boolean isBootstrap()
isBootstrap in interface IBoostrapablepublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object a_object)
equals in class java.lang.Objecta_object - The object with which to compare.
public int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String getPostFile()
getPostFile in interface IDistributablepublic boolean isNeighbour()
public void setNeighbour(boolean a_bNeighbour)
a_bNeighbour - if this IS should be a neighbour
public MixCascade getMixCascadeInfo(java.lang.String a_cascadeID)
throws java.lang.Exception
a_cascadeID - String
java.lang.Exception
public java.util.Hashtable getMixCascades()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getPaymentInstances()
throws java.lang.Exception
java.lang.Exception
public anon.pay.PaymentInstanceDBEntry getPaymentInstance(java.lang.String a_piID)
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getInfoServices(boolean a_bJAPClientContext)
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getMixCascades(boolean a_bJAPClientContext)
throws java.lang.Exception
java.lang.Exception
public TermsAndConditionsFramework getTCFramework(java.lang.String a_id)
throws java.lang.Exception
mixId - The ID of the mix to get the MixInfo for.
java.lang.Exception
public java.util.Hashtable getPaymentInstances(boolean a_bJAPClientContext)
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getMixes(boolean a_bJAPClientContext)
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getInfoServices()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getMixCascadeSerials()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getInfoServiceSerials()
throws java.lang.Exception
java.lang.Exception
public MixInfo getMixInfo(java.lang.String mixId)
throws java.lang.Exception
mixId - The ID of the mix to get the MixInfo for.
java.lang.Exception
public StatusInfo getStatusInfo(MixCascade a_cascade)
throws java.lang.Exception
cascadeId - The ID of the mixcascade to get the StatusInfo for.cascadeLength - The length of the mixcascade (number of mixes). We need this for
calculating the AnonLevel in the StatusInfo.
java.lang.Exception
public java.lang.Object getExitAddresses()
throws java.lang.Exception
java.lang.Exception
public StatusInfo getStatusInfo(MixCascade a_cascade,
long a_timeout)
throws java.lang.Exception
cascadeId - The ID of the mixcascade to get the StatusInfo for.cascadeLength - The length of the mixcascade (number of mixes). We need this for
calculating the AnonLevel in the StatusInfo.
java.lang.Exception
public JAPMinVersion getNewVersionNumber()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getMessages()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getMessageSerials()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getTermsAndConditions()
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable getTermsAndConditionSerials()
throws java.lang.Exception
java.lang.Exception
public PerformanceInfo getPerformanceInfo()
throws java.lang.Exception
java.lang.Exception - if the Signature can't be verified, the Info Service doesn't have
the information available or can't be reached.
public java.util.Hashtable getLatestJava()
throws java.lang.Exception
java.lang.Exception - If we can't get a connection to the infoservice
public java.util.Hashtable getLatestJavaSerials()
throws java.lang.Exception
java.lang.Exception
public JAPVersionInfo getJAPVersionInfo(int a_japVersionType)
throws java.lang.Exception
a_japVersionType - Selects the JAPVersionInfo (release / development). See the constants
in JAPVersionInfo.
java.lang.Exception
public byte[] getTorNodesList()
throws java.lang.Exception
java.lang.Exception
public byte[] getMixminionNodesList()
throws java.lang.Exception
java.lang.Exception
public org.w3c.dom.Element postNewForwarder(org.w3c.dom.Element a_japForwarderNode)
throws java.lang.Exception
a_japForwarderNode - The JapForwarder node of the "post forwarder to infoservice"
XML structure.
java.lang.Exception
public org.w3c.dom.Element postRenewForwarder(org.w3c.dom.Element a_japForwarderNode)
throws java.lang.Exception
a_japForwarderNode - The JapForwarder node of the "renew forwarder" XML structure.
java.lang.Exception
public org.w3c.dom.Element getForwarder()
throws java.lang.Exception
java.lang.Exception
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||