<spanid="evennia-server-throttle"></span><h1>evennia.server.throttle<aclass="headerlink"href="#module-evennia.server.throttle"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.throttle.</code><codeclass="sig-name descname">Throttle</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">error_msg</code><emclass="property"> = 'Too many failed attempts; you must wait a few minutes before trying again.'</em><aclass="headerlink"href="#evennia.server.throttle.Throttle.error_msg"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_cache_key</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.get_cache_key"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.get_cache_key"title="Permalink to this definition">¶</a></dt>
<dd><p>Creates a ‘prefixed’ key containing arbitrary terms to prevent key
collisions in the same namespace.</p>
</dd></dl>
<dlclass="py method">
<dtid="evennia.server.throttle.Throttle.touch">
<codeclass="sig-name descname">touch</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.touch"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.touch"title="Permalink to this definition">¶</a></dt>
<dd><p>Refreshes the timeout on a given key and ensures it is recorded in the
key register.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em>) – Key of entry to renew.</p>
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">update</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span></em>, <emclass="sig-param"><spanclass="n">failmsg</span><spanclass="o">=</span><spanclass="default_value">'Exceeded threshold.'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.update"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.update"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">remove</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.remove"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.remove"title="Permalink to this definition">¶</a></dt>
<dd><p>Clears data stored for an IP from the throttle.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>ip</strong> (<em>str</em>) – IP to clear.</p>
<codeclass="sig-name descname">record_ip</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.record_ip"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.record_ip"title="Permalink to this definition">¶</a></dt>
<dd><p>Tracks keys as they are added to the cache (since there is no way to
get a list of keys after-the-fact).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>ip</strong> (<em>str</em>) – IP being added to cache. This should be the original
<codeclass="sig-name descname">unrecord_ip</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.unrecord_ip"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.unrecord_ip"title="Permalink to this definition">¶</a></dt>
<dd><p>Forces removal of a key from the key registry.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>ip</strong> (<em>str</em>) – IP to remove from list of keys.</p>
<codeclass="sig-name descname">check</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ip</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/throttle.html#Throttle.check"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.throttle.Throttle.check"title="Permalink to this definition">¶</a></dt>