RouterDescriptor Class Reference

#include <routerdescriptor.h>

List of all members.

Public Types

enum  RouterStatus { Online, Hibernating, Offline }

Public Member Functions

 RouterDescriptor ()
 RouterDescriptor (QStringList descriptor)
QString name () const
QHostAddress ip () const
quint16 orPort () const
quint16 dirPort () const
QString id () const
QString platform () const
quint64 uptime () const
QString contact () const
QDateTime published () const
QString fingerprint () const
quint64 averageBandwidth () const
quint64 burstBandwidth () const
quint64 observedBandwidth () const
bool online () const
bool offline () const
bool hibernating () const
bool isEmpty ()
QString status ()
QString location () const
void setLocation (QString location)
void setOffline (bool offline)

Private Member Functions

void parseDescriptor (QStringList descriptor)

Private Attributes

RouterStatus _status
QString _id
QString _name
QString _fingerprint
QString _platform
QString _contact
QHostAddress _ip
quint16 _orPort
quint16 _dirPort
QDateTime _published
quint64 _uptime
quint64 _avgBandwidth
quint64 _burstBandwidth
quint64 _observedBandwidth
QString _location


Detailed Description

Definition at line 38 of file routerdescriptor.h.


Member Enumeration Documentation

enum RouterDescriptor::RouterStatus

Possible router states.

Enumerator:
Online  Router is online and reachable.
Hibernating  Router is currently hibernating.
Offline  Router is unresponsive.

Definition at line 44 of file routerdescriptor.h.


Constructor & Destructor Documentation

RouterDescriptor::RouterDescriptor (  )  [inline]

Default constructor.

Definition at line 51 of file routerdescriptor.h.

RouterDescriptor::RouterDescriptor ( QStringList  descriptor  ) 

Constructor.

Constructor. Just assigns the ID and determines whether the router is responsive or not based on the presence of a "!" at the start of the ID. See tor-spec.txt for details.

Definition at line 36 of file routerdescriptor.cpp.

References _status, Online, and parseDescriptor().


Member Function Documentation

QString RouterDescriptor::name (  )  const [inline]

Returns the router's name.

Definition at line 56 of file routerdescriptor.h.

References _name.

Referenced by NetViewer::circuitPathNames(), RouterDescriptorView::display(), RouterListItem::name(), and RouterListItem::update().

QHostAddress RouterDescriptor::ip (  )  const [inline]

Returns the router's IP address.

Definition at line 58 of file routerdescriptor.h.

References _ip.

Referenced by NetViewer::addRouter(), and RouterDescriptorView::display().

quint16 RouterDescriptor::orPort (  )  const [inline]

Returns the router's ORPort.

Definition at line 60 of file routerdescriptor.h.

References _orPort.

quint16 RouterDescriptor::dirPort (  )  const [inline]

Returns the router's DirPort.

Definition at line 62 of file routerdescriptor.h.

References _dirPort.

QString RouterDescriptor::id (  )  const [inline]

Returns the router's ID.

Definition at line 64 of file routerdescriptor.h.

References _id.

Referenced by RouterListWidget::addRouter(), NetViewer::addRouter(), NetViewer::circuitPathIDs(), RouterListItem::id(), and NetViewer::routerSelected().

QString RouterDescriptor::platform (  )  const [inline]

Returns the platform on which this router is running.

Definition at line 66 of file routerdescriptor.h.

References _platform.

Referenced by RouterDescriptorView::display(), and RouterListItem::update().

quint64 RouterDescriptor::uptime (  )  const [inline]

Returns the length of time this router has been up.

Definition at line 68 of file routerdescriptor.h.

References _uptime.

Referenced by RouterDescriptorView::display().

QString RouterDescriptor::contact (  )  const [inline]

Returns the router's contact information.

Definition at line 70 of file routerdescriptor.h.

References _contact.

QDateTime RouterDescriptor::published (  )  const [inline]

Returns the date and time the router was published.

Definition at line 72 of file routerdescriptor.h.

References _published.

Referenced by RouterDescriptorView::display().

QString RouterDescriptor::fingerprint (  )  const [inline]

Returns the fingerprint for this router.

Definition at line 74 of file routerdescriptor.h.

References _fingerprint.

quint64 RouterDescriptor::averageBandwidth (  )  const [inline]

Returns the average bandwidth for this router.

Definition at line 76 of file routerdescriptor.h.

References _avgBandwidth.

quint64 RouterDescriptor::burstBandwidth (  )  const [inline]

Returns the burst bandwidth for this router.

Definition at line 78 of file routerdescriptor.h.

References _burstBandwidth.

quint64 RouterDescriptor::observedBandwidth (  )  const [inline]

Returns the observed bandwidth for this router.

Definition at line 80 of file routerdescriptor.h.

References _observedBandwidth.

Referenced by RouterDescriptorView::display(), and RouterListItem::update().

bool RouterDescriptor::online (  )  const [inline]

Returns true if this router is online and responsive.

Definition at line 82 of file routerdescriptor.h.

References _status, and Online.

Referenced by RouterListWidget::addRouter().

bool RouterDescriptor::offline (  )  const [inline]

Returns true if this router is unresponsive.

Definition at line 84 of file routerdescriptor.h.

References _status, and Offline.

Referenced by RouterDescriptorView::display(), and RouterListItem::update().

bool RouterDescriptor::hibernating (  )  const [inline]

Returns true if this router is hibernating.

Definition at line 86 of file routerdescriptor.h.

References _status, and Hibernating.

Referenced by RouterListItem::update().

bool RouterDescriptor::isEmpty (  )  [inline]

Returns true if the router has neither a nickname or an ID.

Definition at line 88 of file routerdescriptor.h.

References _id, and _name.

Referenced by NetViewer::circuitPathIDs(), NetViewer::circuitPathNames(), and NetViewer::loadDescriptors().

QString RouterDescriptor::status (  ) 

Returns a string representation of the status of this router.

Definition at line 84 of file routerdescriptor.cpp.

References _status, Hibernating, and Online.

Referenced by RouterDescriptorView::display().

QString RouterDescriptor::location (  )  const [inline]

Returns geographic location information for this router. Note that this information is NOT part of the Tor directory protocol, but can be determined out of band and set using setLocation().

Definition at line 95 of file routerdescriptor.h.

References _location.

Referenced by RouterDescriptorView::display().

void RouterDescriptor::setLocation ( QString  location  )  [inline]

Sets geographic location information for this router.

Definition at line 97 of file routerdescriptor.h.

References _location.

Referenced by RouterListItem::setLocation().

void RouterDescriptor::setOffline ( bool  offline  )  [inline]

Sets the descriptors status to Offline if offline is true.

Definition at line 99 of file routerdescriptor.h.

References _status, Offline, and Online.

void RouterDescriptor::parseDescriptor ( QStringList  descriptor  )  [private]

Parses this router's descriptor for relevant information.

Definition at line 44 of file routerdescriptor.cpp.

References _avgBandwidth, _burstBandwidth, _contact, _dirPort, _fingerprint, _id, _ip, _name, _observedBandwidth, _orPort, _platform, _published, _status, _uptime, and Hibernating.

Referenced by RouterDescriptor().


Member Data Documentation

RouterStatus RouterDescriptor::_status [private]

Availability status of this router.

Definition at line 105 of file routerdescriptor.h.

Referenced by hibernating(), offline(), online(), parseDescriptor(), RouterDescriptor(), setOffline(), and status().

QString RouterDescriptor::_id [private]

Router's descriptor ID.

Definition at line 106 of file routerdescriptor.h.

Referenced by id(), isEmpty(), and parseDescriptor().

QString RouterDescriptor::_name [private]

The router's name.

Definition at line 107 of file routerdescriptor.h.

Referenced by isEmpty(), name(), and parseDescriptor().

QString RouterDescriptor::_fingerprint [private]

Router's fingerprint.

Definition at line 108 of file routerdescriptor.h.

Referenced by fingerprint(), and parseDescriptor().

QString RouterDescriptor::_platform [private]

Platform on which router is running.

Definition at line 109 of file routerdescriptor.h.

Referenced by parseDescriptor(), and platform().

QString RouterDescriptor::_contact [private]

Router operator contact information.

Definition at line 110 of file routerdescriptor.h.

Referenced by contact(), and parseDescriptor().

QHostAddress RouterDescriptor::_ip [private]

Router's IP address.

Definition at line 111 of file routerdescriptor.h.

Referenced by ip(), and parseDescriptor().

quint16 RouterDescriptor::_orPort [private]

Router's ORPort.

Definition at line 112 of file routerdescriptor.h.

Referenced by orPort(), and parseDescriptor().

quint16 RouterDescriptor::_dirPort [private]

Router's DirPort.

Definition at line 113 of file routerdescriptor.h.

Referenced by dirPort(), and parseDescriptor().

QDateTime RouterDescriptor::_published [private]

Date router descriptor was published.

Definition at line 114 of file routerdescriptor.h.

Referenced by parseDescriptor(), and published().

quint64 RouterDescriptor::_uptime [private]

Time the router has been online.

Definition at line 115 of file routerdescriptor.h.

Referenced by parseDescriptor(), and uptime().

quint64 RouterDescriptor::_avgBandwidth [private]

Average bandwidth.

Definition at line 116 of file routerdescriptor.h.

Referenced by averageBandwidth(), and parseDescriptor().

quint64 RouterDescriptor::_burstBandwidth [private]

Burst bandwidth.

Definition at line 117 of file routerdescriptor.h.

Referenced by burstBandwidth(), and parseDescriptor().

quint64 RouterDescriptor::_observedBandwidth [private]

Observed bandwidth.

Definition at line 118 of file routerdescriptor.h.

Referenced by observedBandwidth(), and parseDescriptor().

QString RouterDescriptor::_location [private]

Geographic location information.

Definition at line 119 of file routerdescriptor.h.

Referenced by location(), and setLocation().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 15:49:29 2007 for Vidalia by  doxygen 1.5.3