Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > e4be28b383be195ff28bfce2053e734a > files > 245

python-stem-doc-1.1.0-1.fc18.noarch.rpm



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Extrainfo Descriptor &mdash; Stem 1.1.0 documentation</title>
    
    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../../_static/print.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../',
        VERSION:     '1.1.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../_static/doctools.js"></script>
    <script type="text/javascript" src="../../_static/theme_extras.js"></script>
    <link rel="shortcut icon" href="../../_static/favicon.png"/>
    <link rel="top" title="Stem 1.1.0 documentation" href="../../index.html" />
    <link rel="up" title="Contents" href="../../contents.html" />
    <link rel="next" title="MicroDescriptor" href="microdescriptor.html" />
    <link rel="prev" title="Server Descriptor" href="server_descriptor.html" /> 
  </head>
  <body>
      <div class="header"><img class="rightlogo" src="../../_static/logo.png" alt="Logo"/><h1 class="heading"><a href="../../index.html">
          <span>Stem Docs</span></a></h1>
        <h2 class="heading"><span>Extrainfo Descriptor</span></h2>
      </div>
      <div class="topnav">
      
        <p>

        <ul id="navbar">
          <li><a href="../../index.html">Home</a></li>
          <li><a href="../../tutorials.html">Tutorials</a>
            <ul>
              <li><a href="../../tutorials/the_little_relay_that_could.html">Hello World</a></li>
              <li><a href="../../tutorials/to_russia_with_love.html">Client Usage</a></li>
              <li><a href="../../tutorials/tortoise_and_the_hare.html">Event Listening</a></li>
              <li><a href="../../tutorials/mirror_mirror_on_the_wall.html">Tor Descriptors</a></li>
              <li><a href="../../tutorials/east_of_the_sun.html">Utilities</a></li>
              <li><a href="../../tutorials/double_double_toil_and_trouble.html">Examples</a></li>
            </ul>
          </li>
          <li><a href="../../api.html">API</a>
            <ul>
              <li><a href="../control.html">stem.control</a></li>
              <li><a href="../connection.html">stem.connection</a></li>
              <li><a href="../socket.html">stem.socket</a></li>
              <li><a href="../process.html">stem.process</a></li>
              <li><a href="../response.html">stem.response</a></li>
              <li><a href="../exit_policy.html">stem.exit_policy</a></li>
              <li><a href="../version.html">stem.version</a></li>
              <li><a href="../../api.html#descriptors">Descriptors</a></li>
              <li><a href="../../api.html#utilities">Utilities</a></li>
            </ul>
          </li>
          <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/stem">Development</a>
            <ul>
              <li><a href="../../faq.html">FAQ</a></li>
              <li><a href="../../change_log.html">Change Log</a></li>
              <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs">Bug Tracker</a></li>
              <li><a href="../../download.html">Download</a></li>
            </ul>
          </li>
        </ul>
        </p>

      </div>
      <div class="content">
        
        
  <div class="section" id="module-stem.descriptor.extrainfo_descriptor">
<span id="extrainfo-descriptor"></span><h1>Extrainfo Descriptor<a class="headerlink" href="#module-stem.descriptor.extrainfo_descriptor" title="Permalink to this headline">¶</a></h1>
<p>Parsing for Tor extra-info descriptors. These are published by relays whenever
their server descriptor is published and have a similar format. However, unlike
server descriptors these don&#8217;t contain information that Tor clients require to
function and as such aren&#8217;t fetched by default.</p>
<p>Defined in section 2.2 of the <a class="reference external" href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt">dir-spec</a>,
extra-info descriptors contain interesting but non-vital information such as
usage statistics. Tor clients cannot request these documents for bridges.</p>
<p>Extra-info descriptors are available from a few sources...</p>
<ul class="simple">
<li>if you have &#8216;DownloadExtraInfo 1&#8217; in your torrc...</li>
</ul>
<blockquote>
<div><ul class="simple">
<li>control port via &#8216;GETINFO extra-info/digest/*&#8217; queries</li>
<li>the &#8216;cached-extrainfo&#8217; file in tor&#8217;s data directory</li>
</ul>
</div></blockquote>
<ul class="simple">
<li>tor metrics, at <a class="reference external" href="https://metrics.torproject.org/data.html">https://metrics.torproject.org/data.html</a></li>
<li>directory authorities and mirrors via their DirPort</li>
</ul>
<p><strong>Module Overview:</strong></p>
<div class="highlight-python"><pre>ExtraInfoDescriptor - Tor extra-info descriptor.
  |  |- RelayExtraInfoDescriptor - Extra-info descriptor for a relay.
  |  +- BridgeExtraInfoDescriptor - Extra-info descriptor for a bridge.
  |
  |- digest - calculates the upper-case hex digest value for our content
  +- get_unrecognized_lines - lines with unrecognized content</pre>
</div>
<dl class="data">
<dt id="stem.descriptor.extrainfo_descriptor.DirResponse">
<tt class="descclassname">stem.descriptor.extrainfo_descriptor.</tt><tt class="descname">DirResponse</tt><big>(</big><em>enum</em><big>)</big><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.DirResponse" title="Permalink to this definition">¶</a></dt>
<dd><p>Enumeration for known statuses for ExtraInfoDescriptor&#8217;s dir_*_responses.</p>
<table border="1" class="docutils">
<colgroup>
<col width="26%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">DirResponse</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><strong>OK</strong></td>
<td>network status requests that were answered</td>
</tr>
<tr class="row-odd"><td><strong>NOT_ENOUGH_SIGS</strong></td>
<td>network status wasn&#8217;t signed by enough authorities</td>
</tr>
<tr class="row-even"><td><strong>UNAVAILABLE</strong></td>
<td>requested network status was unavailable</td>
</tr>
<tr class="row-odd"><td><strong>NOT_FOUND</strong></td>
<td>requested network status was not found</td>
</tr>
<tr class="row-even"><td><strong>NOT_MODIFIED</strong></td>
<td>network status unmodified since If-Modified-Since time</td>
</tr>
<tr class="row-odd"><td><strong>BUSY</strong></td>
<td>directory was busy</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="data">
<dt id="stem.descriptor.extrainfo_descriptor.DirStat">
<tt class="descclassname">stem.descriptor.extrainfo_descriptor.</tt><tt class="descname">DirStat</tt><big>(</big><em>enum</em><big>)</big><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.DirStat" title="Permalink to this definition">¶</a></dt>
<dd><p>Enumeration for known stats for ExtraInfoDescriptor&#8217;s dir_*_direct_dl and
dir_*_tunneled_dl.</p>
<table border="1" class="docutils">
<colgroup>
<col width="26%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">DirStat</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><strong>COMPLETE</strong></td>
<td>requests that completed successfully</td>
</tr>
<tr class="row-odd"><td><strong>TIMEOUT</strong></td>
<td>requests that didn&#8217;t complete within a ten minute timeout</td>
</tr>
<tr class="row-even"><td><strong>RUNNING</strong></td>
<td>requests still in process when measurement&#8217;s taken</td>
</tr>
<tr class="row-odd"><td><strong>MIN</strong></td>
<td>smallest rate at which a descriptor was downloaded in B/s</td>
</tr>
<tr class="row-even"><td><strong>MAX</strong></td>
<td>largest rate at which a descriptor was downloaded in B/s</td>
</tr>
<tr class="row-odd"><td><strong>D1-4</strong> and <strong>D6-9</strong></td>
<td>rate of the slowest x/10 download rates in B/s</td>
</tr>
<tr class="row-even"><td><strong>Q1</strong> and <strong>Q3</strong></td>
<td>rate of the slowest and fastest quarter download rates in B/s</td>
</tr>
<tr class="row-odd"><td><strong>MD</strong></td>
<td>median download rate in B/s</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="class">
<dt id="stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor">
<em class="property">class </em><tt class="descclassname">stem.descriptor.extrainfo_descriptor.</tt><tt class="descname">ExtraInfoDescriptor</tt><big>(</big><em>raw_contents</em>, <em>validate=True</em><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#ExtraInfoDescriptor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">stem.descriptor.Descriptor</span></tt></p>
<p>Extra-info descriptor document.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>nickname</strong> (<em>str</em>) &#8211; <strong>*</strong> relay&#8217;s nickname</li>
<li><strong>fingerprint</strong> (<em>str</em>) &#8211; <strong>*</strong> identity key fingerprint</li>
<li><strong>published</strong> (<em>datetime</em>) &#8211; <strong>*</strong> time in UTC when this descriptor was made</li>
<li><strong>geoip_db_digest</strong> (<em>str</em>) &#8211; sha1 of the geoIP database file for IPv4 addresses</li>
<li><strong>geoip6_db_digest</strong> (<em>str</em>) &#8211; sha1 of the geoIP database file for IPv6 addresses</li>
<li><strong>transport</strong> (<em>dict</em>) &#8211; <strong>*</strong> mapping of transport methods to their (address,
port, args) tuple, these usually appear on bridges in which case all of
those are <strong>None</strong></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Bi-directional connection usage:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>conn_bi_direct_end</strong> (<em>datetime</em>) &#8211; end of the sampling interval</li>
<li><strong>conn_bi_direct_interval</strong> (<em>int</em>) &#8211; seconds per interval</li>
<li><strong>conn_bi_direct_below</strong> (<em>int</em>) &#8211; connections that read/wrote less than 20 KiB</li>
<li><strong>conn_bi_direct_read</strong> (<em>int</em>) &#8211; connections that read at least 10x more than wrote</li>
<li><strong>conn_bi_direct_write</strong> (<em>int</em>) &#8211; connections that wrote at least 10x more than read</li>
<li><strong>conn_bi_direct_both</strong> (<em>int</em>) &#8211; remaining connections</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Bytes read/written for relayed traffic:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>read_history_end</strong> (<em>datetime</em>) &#8211; end of the sampling interval</li>
<li><strong>read_history_interval</strong> (<em>int</em>) &#8211; seconds per interval</li>
<li><strong>read_history_values</strong> (<em>list</em>) &#8211; bytes read during each interval</li>
<li><strong>write_history_end</strong> (<em>datetime</em>) &#8211; end of the sampling interval</li>
<li><strong>write_history_interval</strong> (<em>int</em>) &#8211; seconds per interval</li>
<li><strong>write_history_values</strong> (<em>list</em>) &#8211; bytes written during each interval</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Cell relaying statistics:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>cell_stats_end</strong> (<em>datetime</em>) &#8211; end of the period when stats were gathered</li>
<li><strong>cell_stats_interval</strong> (<em>int</em>) &#8211; length in seconds of the interval</li>
<li><strong>cell_processed_cells</strong> (<em>list</em>) &#8211; measurement of processed cells per circuit</li>
<li><strong>cell_queued_cells</strong> (<em>list</em>) &#8211; measurement of queued cells per circuit</li>
<li><strong>cell_time_in_queue</strong> (<em>list</em>) &#8211; mean enqueued time in milliseconds for cells</li>
<li><strong>cell_circuits_per_decile</strong> (<em>int</em>) &#8211; mean number of circuits in a decile</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Directory Mirror Attributes:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>dir_stats_end</strong> (<em>datetime</em>) &#8211; end of the period when stats were gathered</li>
<li><strong>dir_stats_interval</strong> (<em>int</em>) &#8211; length in seconds of the interval</li>
<li><strong>dir_v2_ips</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of requester ips</li>
<li><strong>dir_v3_ips</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of requester ips</li>
<li><strong>dir_v2_share</strong> (<em>float</em>) &#8211; percent of total directory traffic it expects to serve</li>
<li><strong>dir_v3_share</strong> (<em>float</em>) &#8211; percent of total directory traffic it expects to serve</li>
<li><strong>dir_v2_requests</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of requests</li>
<li><strong>dir_v3_requests</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of requests</li>
<li><strong>dir_v2_responses</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirResponse" title="stem.descriptor.extrainfo_descriptor.DirResponse"><tt class="xref py py-data docutils literal"><span class="pre">DirResponse</span></tt></a> to their rounded count</li>
<li><strong>dir_v3_responses</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirResponse" title="stem.descriptor.extrainfo_descriptor.DirResponse"><tt class="xref py py-data docutils literal"><span class="pre">DirResponse</span></tt></a> to their rounded count</li>
<li><strong>dir_v2_responses_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized statuses to their count</li>
<li><strong>dir_v3_responses_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized statuses to their count</li>
<li><strong>dir_v2_direct_dl</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirStat" title="stem.descriptor.extrainfo_descriptor.DirStat"><tt class="xref py py-data docutils literal"><span class="pre">DirStat</span></tt></a> to measurement over DirPort</li>
<li><strong>dir_v3_direct_dl</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirStat" title="stem.descriptor.extrainfo_descriptor.DirStat"><tt class="xref py py-data docutils literal"><span class="pre">DirStat</span></tt></a> to measurement over DirPort</li>
<li><strong>dir_v2_direct_dl_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized stats to their measurement</li>
<li><strong>dir_v3_direct_dl_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized stats to their measurement</li>
<li><strong>dir_v2_tunneled_dl</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirStat" title="stem.descriptor.extrainfo_descriptor.DirStat"><tt class="xref py py-data docutils literal"><span class="pre">DirStat</span></tt></a> to measurement over ORPort</li>
<li><strong>dir_v3_tunneled_dl</strong> (<em>dict</em>) &#8211; mapping of <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.DirStat" title="stem.descriptor.extrainfo_descriptor.DirStat"><tt class="xref py py-data docutils literal"><span class="pre">DirStat</span></tt></a> to measurement over ORPort</li>
<li><strong>dir_v2_tunneled_dl_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized stats to their measurement</li>
<li><strong>dir_v3_tunneled_dl_unknown</strong> (<em>dict</em>) &#8211; mapping of unrecognized stats to their measurement</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Bytes read/written for directory mirroring:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>dir_read_history_end</strong> (<em>datetime</em>) &#8211; end of the sampling interval</li>
<li><strong>dir_read_history_interval</strong> (<em>int</em>) &#8211; seconds per interval</li>
<li><strong>dir_read_history_values</strong> (<em>list</em>) &#8211; bytes read during each interval</li>
<li><strong>dir_write_history_end</strong> (<em>datetime</em>) &#8211; end of the sampling interval</li>
<li><strong>dir_write_history_interval</strong> (<em>int</em>) &#8211; seconds per interval</li>
<li><strong>dir_write_history_values</strong> (<em>list</em>) &#8211; bytes read during each interval</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Guard Attributes:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>entry_stats_end</strong> (<em>datetime</em>) &#8211; end of the period when stats were gathered</li>
<li><strong>entry_stats_interval</strong> (<em>int</em>) &#8211; length in seconds of the interval</li>
<li><strong>entry_ips</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of unique user ips</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Exit Attributes:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>exit_stats_end</strong> (<em>datetime</em>) &#8211; end of the period when stats were gathered</li>
<li><strong>exit_stats_interval</strong> (<em>int</em>) &#8211; length in seconds of the interval</li>
<li><strong>exit_kibibytes_written</strong> (<em>dict</em>) &#8211; traffic per port (keys are ints or &#8216;other&#8217;)</li>
<li><strong>exit_kibibytes_read</strong> (<em>dict</em>) &#8211; traffic per port (keys are ints or &#8216;other&#8217;)</li>
<li><strong>exit_streams_opened</strong> (<em>dict</em>) &#8211; streams per port (keys are ints or &#8216;other&#8217;)</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>Bridge Attributes:</strong></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>bridge_stats_end</strong> (<em>datetime</em>) &#8211; end of the period when stats were gathered</li>
<li><strong>bridge_stats_interval</strong> (<em>int</em>) &#8211; length in seconds of the interval</li>
<li><strong>bridge_ips</strong> (<em>dict</em>) &#8211; mapping of locales to rounded count of unique user ips</li>
<li><strong>geoip_start_time</strong> (<em>datetime</em>) &#8211; replaced by bridge_stats_end (deprecated)</li>
<li><strong>geoip_client_origins</strong> (<em>dict</em>) &#8211; replaced by bridge_ips (deprecated)</li>
<li><strong>ip_versions</strong> (<em>dict</em>) &#8211; mapping of ip protocols to a rounded count for the number of users</li>
<li><strong>ip_versions</strong> &#8211; mapping of ip transports to a count for the number of users</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><strong>*</strong> attribute is either required when we&#8217;re parsed with validation or has
a default value, others are left as <strong>None</strong> if undefined</p>
<dl class="method">
<dt id="stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.get_unrecognized_lines">
<tt class="descname">get_unrecognized_lines</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#ExtraInfoDescriptor.get_unrecognized_lines"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.get_unrecognized_lines" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.digest">
<tt class="descname">digest</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#ExtraInfoDescriptor.digest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.digest" title="Permalink to this definition">¶</a></dt>
<dd><p>Provides the upper-case hex encoded sha1 of our content. This value is part
of the server descriptor entry for this relay.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><strong>str</strong> with the upper-case hex digest value for this server
descriptor</td>
</tr>
</tbody>
</table>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="stem.descriptor.extrainfo_descriptor.RelayExtraInfoDescriptor">
<em class="property">class </em><tt class="descclassname">stem.descriptor.extrainfo_descriptor.</tt><tt class="descname">RelayExtraInfoDescriptor</tt><big>(</big><em>raw_contents</em>, <em>validate=True</em><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#RelayExtraInfoDescriptor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.RelayExtraInfoDescriptor" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor" title="stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor"><tt class="xref py py-class docutils literal"><span class="pre">stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor</span></tt></a></p>
<p>Relay extra-info descriptor, constructed from data such as that provided by
&#8220;GETINFO extra-info/digest/*&#8221;, cached descriptors, and metrics
(<a class="reference external" href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt">specification</a>).</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><strong>signature</strong> (<em>str</em>) &#8211; <strong>*</strong> signature for this extrainfo descriptor</td>
</tr>
</tbody>
</table>
<p><strong>*</strong> attribute is required when we&#8217;re parsed with validation</p>
<dl class="method">
<dt id="stem.descriptor.extrainfo_descriptor.RelayExtraInfoDescriptor.digest">
<tt class="descname">digest</tt><big>(</big><em>*args</em>, <em>**kwds</em><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#RelayExtraInfoDescriptor.digest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.RelayExtraInfoDescriptor.digest" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

<dl class="class">
<dt id="stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor">
<em class="property">class </em><tt class="descclassname">stem.descriptor.extrainfo_descriptor.</tt><tt class="descname">BridgeExtraInfoDescriptor</tt><big>(</big><em>raw_contents</em>, <em>validate=True</em><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#BridgeExtraInfoDescriptor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor" title="stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor"><tt class="xref py py-class docutils literal"><span class="pre">stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor</span></tt></a></p>
<p>Bridge extra-info descriptor (<a class="reference external" href="https://metrics.torproject.org/formats.html#bridgedesc">bridge descriptor specification</a>)</p>
<dl class="method">
<dt id="stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor.digest">
<tt class="descname">digest</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/stem/descriptor/extrainfo_descriptor.html#BridgeExtraInfoDescriptor.digest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor.digest" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</div>


      </div>
      <div class="bottomnav">
      </div>

    <div class="footer">
    </div>
  </body>
</html>