#include <routerdescriptor.h>
Public Types | |
enum | RouterStatus { Online, Hibernating, Offline } |
Public Member Functions | |
RouterDescriptor () | |
RouterDescriptor (QStringList descriptor) | |
QString | name () const |
QString | 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 |
QString | _ip |
quint16 | _orPort |
quint16 | _dirPort |
QDateTime | _published |
quint64 | _uptime |
quint64 | _avgBandwidth |
quint64 | _burstBandwidth |
quint64 | _observedBandwidth |
QString | _location |
Definition at line 37 of file routerdescriptor.h.
Possible router states.
Online | Router is online and reachable. |
Hibernating | Router is currently hibernating. |
Offline | Router is unresponsive. |
Definition at line 43 of file routerdescriptor.h.
RouterDescriptor::RouterDescriptor | ( | ) | [inline] |
Default constructor.
Definition at line 50 of file routerdescriptor.h.
RouterDescriptor::RouterDescriptor | ( | QStringList | descriptor | ) |
Constructor.
Definition at line 36 of file routerdescriptor.cpp.
References _status, Online, and parseDescriptor().
QString RouterDescriptor::name | ( | ) | const [inline] |
Returns the router's name.
Definition at line 55 of file routerdescriptor.h.
References _name.
Referenced by NetViewer::circuitPathNames(), RouterDescriptorView::display(), RouterListItem::name(), NetViewer::routerSelected(), and RouterListItem::update().
QString RouterDescriptor::ip | ( | ) | const [inline] |
Returns the router's IP address.
Definition at line 57 of file routerdescriptor.h.
References _ip.
Referenced by NetViewer::addRouter(), and RouterDescriptorView::display().
quint16 RouterDescriptor::orPort | ( | ) | const [inline] |
quint16 RouterDescriptor::dirPort | ( | ) | const [inline] |
Returns the router's DirPort.
Definition at line 61 of file routerdescriptor.h.
References _dirPort.
QString RouterDescriptor::id | ( | ) | const [inline] |
Returns the router's ID.
Definition at line 63 of file routerdescriptor.h.
References _id.
Referenced by RouterListWidget::addRouter(), NetViewer::addRouter(), NetViewer::circuitPathIDs(), and RouterListItem::id().
QString RouterDescriptor::platform | ( | ) | const [inline] |
Returns the platform on which this router is running.
Definition at line 65 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 67 of file routerdescriptor.h.
References _uptime.
Referenced by RouterDescriptorView::display().
QString RouterDescriptor::contact | ( | ) | const [inline] |
Returns the router's contact information.
Definition at line 69 of file routerdescriptor.h.
References _contact.
QDateTime RouterDescriptor::published | ( | ) | const [inline] |
Returns the date and time the router was published.
Definition at line 71 of file routerdescriptor.h.
References _published.
Referenced by RouterDescriptorView::display().
QString RouterDescriptor::fingerprint | ( | ) | const [inline] |
Returns the fingerprint for this router.
Definition at line 73 of file routerdescriptor.h.
References _fingerprint.
quint64 RouterDescriptor::averageBandwidth | ( | ) | const [inline] |
Returns the average bandwidth for this router.
Definition at line 75 of file routerdescriptor.h.
References _avgBandwidth.
quint64 RouterDescriptor::burstBandwidth | ( | ) | const [inline] |
Returns the burst bandwidth for this router.
Definition at line 77 of file routerdescriptor.h.
References _burstBandwidth.
quint64 RouterDescriptor::observedBandwidth | ( | ) | const [inline] |
Returns the observed bandwidth for this router.
Definition at line 79 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 81 of file routerdescriptor.h.
bool RouterDescriptor::offline | ( | ) | const [inline] |
Returns true if this router is unresponsive.
Definition at line 83 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 85 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 87 of file routerdescriptor.h.
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 94 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 96 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 98 of file routerdescriptor.h.
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().
RouterStatus RouterDescriptor::_status [private] |
Availability status of this router.
Definition at line 104 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 105 of file routerdescriptor.h.
Referenced by id(), isEmpty(), and parseDescriptor().
QString RouterDescriptor::_name [private] |
The router's name.
Definition at line 106 of file routerdescriptor.h.
Referenced by isEmpty(), name(), and parseDescriptor().
QString RouterDescriptor::_fingerprint [private] |
Router's fingerprint.
Definition at line 107 of file routerdescriptor.h.
Referenced by fingerprint(), and parseDescriptor().
QString RouterDescriptor::_platform [private] |
Platform on which router is running.
Definition at line 108 of file routerdescriptor.h.
Referenced by parseDescriptor(), and platform().
QString RouterDescriptor::_contact [private] |
Router operator contact information.
Definition at line 109 of file routerdescriptor.h.
Referenced by contact(), and parseDescriptor().
QString RouterDescriptor::_ip [private] |
Router's IP address.
Definition at line 110 of file routerdescriptor.h.
Referenced by ip(), and parseDescriptor().
quint16 RouterDescriptor::_orPort [private] |
Router's ORPort.
Definition at line 111 of file routerdescriptor.h.
Referenced by orPort(), and parseDescriptor().
quint16 RouterDescriptor::_dirPort [private] |
Router's DirPort.
Definition at line 112 of file routerdescriptor.h.
Referenced by dirPort(), and parseDescriptor().
QDateTime RouterDescriptor::_published [private] |
Date router descriptor was published.
Definition at line 113 of file routerdescriptor.h.
Referenced by parseDescriptor(), and published().
quint64 RouterDescriptor::_uptime [private] |
Time the router has been online.
Definition at line 114 of file routerdescriptor.h.
Referenced by parseDescriptor(), and uptime().
quint64 RouterDescriptor::_avgBandwidth [private] |
Average bandwidth.
Definition at line 115 of file routerdescriptor.h.
Referenced by averageBandwidth(), and parseDescriptor().
quint64 RouterDescriptor::_burstBandwidth [private] |
Burst bandwidth.
Definition at line 116 of file routerdescriptor.h.
Referenced by burstBandwidth(), and parseDescriptor().
quint64 RouterDescriptor::_observedBandwidth [private] |
Observed bandwidth.
Definition at line 117 of file routerdescriptor.h.
Referenced by observedBandwidth(), and parseDescriptor().
QString RouterDescriptor::_location [private] |
Geographic location information.
Definition at line 118 of file routerdescriptor.h.
Referenced by location(), and setLocation().