evennia/docs/latest/api/evennia.server.profiling.dummyrunner.html
Evennia docbuilder action 243d596662 Updated HTML docs.
2025-08-15 18:14:21 +00:00

471 lines
No EOL
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.server.profiling.dummyrunner &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.server.profiling.dummyrunner_settings" href="evennia.server.profiling.dummyrunner_settings.html" />
<link rel="prev" title="evennia.server.profiling" href="evennia.server.profiling.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.server.profiling.dummyrunner_settings.html" title="evennia.server.profiling.dummyrunner_settings"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.server.profiling.html" title="evennia.server.profiling"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.server.html" >evennia.server</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.server.profiling.html" accesskey="U">evennia.server.profiling</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.profiling.dummyrunner</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.server.profiling.dummyrunner">
<span id="evennia-server-profiling-dummyrunner"></span><h1>evennia.server.profiling.dummyrunner<a class="headerlink" href="#module-evennia.server.profiling.dummyrunner" title="Link to this heading"></a></h1>
<p>Dummy client runner</p>
<p>This module implements a stand-alone launcher for stress-testing
an Evennia game. It will launch any number of fake clients. These
clients will log into the server and start doing random operations.
Customizing and weighing these operations differently depends on
which type of game is tested. The module contains a testing module
for plain Evennia.</p>
<p>Please note that you shouldnt run this on a production server!
Launch the program without any arguments or options to see a
full step-by-step setup help.</p>
<p>Basically (for testing default Evennia):</p>
<blockquote>
<div><ul class="simple">
<li><p>Use an empty/testing database.</p></li>
<li><p>set PERMISSION_ACCOUNT_DEFAULT = “Builder”</p></li>
<li><p>start server, eventually with profiling active</p></li>
<li><p>launch this client runner</p></li>
</ul>
</div></blockquote>
<p>If you want to customize the runners client actions
(because you changed the cmdset or needs to better
match your use cases or add more actions), you can
change which actions by adding a path to</p>
<blockquote>
<div><p>DUMMYRUNNER_ACTIONS_MODULE = &lt;path.to.your.module&gt;</p>
</div></blockquote>
<p>in your settings. See utils.dummyrunner_actions.py
for instructions on how to define this module.</p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">CmdDummyRunnerEchoResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><code class="xref py py-class docutils literal notranslate"><span class="pre">Command</span></code></a></p>
<p>Dummyrunner command measuring the round-about response time
from sending to receiving a result.</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>dummyrunner_echo_response &lt;timestamp&gt;</p>
</dd>
<dt>Responds with</dt><dd><p>dummyrunner_echo_response:&lt;timestamp&gt;,&lt;current_time&gt;</p>
</dd>
</dl>
<p>The dummyrunner will send this and then compare the send time
with the receive time on both ends.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.key">
<span class="sig-name descname"><span class="pre">key</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'dummyrunner_echo_response'</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.key" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.func">
<span class="sig-name descname"><span class="pre">func</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse.func"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.func" title="Link to this definition"></a></dt>
<dd><p>This is the actual executing part of the command. It is
called directly after self.parse(). See the docstring of this
module for which object properties are available (beyond those
set in self.parse())</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.aliases">
<span class="sig-name descname"><span class="pre">aliases</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[]</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.aliases" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.help_category">
<span class="sig-name descname"><span class="pre">help_category</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'general'</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.help_category" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.lock_storage">
<span class="sig-name descname"><span class="pre">lock_storage</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'cmd:all();'</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.lock_storage" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.search_index_entry">
<span class="sig-name descname"><span class="pre">search_index_entry</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'aliases':</span> <span class="pre">'',</span> <span class="pre">'category':</span> <span class="pre">'general',</span> <span class="pre">'key':</span> <span class="pre">'dummyrunner_echo_response',</span> <span class="pre">'no_prefix':</span> <span class="pre">'</span> <span class="pre">',</span> <span class="pre">'tags':</span> <span class="pre">'',</span> <span class="pre">'text':</span> <span class="pre">'\nDummyrunner</span> <span class="pre">command</span> <span class="pre">measuring</span> <span class="pre">the</span> <span class="pre">round-about</span> <span class="pre">response</span> <span class="pre">time\nfrom</span> <span class="pre">sending</span> <span class="pre">to</span> <span class="pre">receiving</span> <span class="pre">a</span> <span class="pre">result.\n\nUsage:\n</span>&#160;&#160;&#160; <span class="pre">dummyrunner_echo_response</span> <span class="pre">&lt;timestamp&gt;\n\nResponds</span> <span class="pre">with\n</span>&#160;&#160;&#160; <span class="pre">dummyrunner_echo_response:&lt;timestamp&gt;,&lt;current_time&gt;\n\nThe</span> <span class="pre">dummyrunner</span> <span class="pre">will</span> <span class="pre">send</span> <span class="pre">this</span> <span class="pre">and</span> <span class="pre">then</span> <span class="pre">compare</span> <span class="pre">the</span> <span class="pre">send</span> <span class="pre">time\nwith</span> <span class="pre">the</span> <span class="pre">receive</span> <span class="pre">time</span> <span class="pre">on</span> <span class="pre">both</span> <span class="pre">ends.\n\n'}</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.search_index_entry" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyRunnerCmdSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">DummyRunnerCmdSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cmdsetobj</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyRunnerCmdSet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.cmdset.html#evennia.commands.cmdset.CmdSet" title="evennia.commands.cmdset.CmdSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">CmdSet</span></code></a></p>
<p>Dummyrunner injected cmdset.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.at_cmdset_creation">
<span class="sig-name descname"><span class="pre">at_cmdset_creation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyRunnerCmdSet.at_cmdset_creation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.at_cmdset_creation" title="Link to this definition"></a></dt>
<dd><p>Hook method - this should be overloaded in the inheriting
class, and should take care of populating the cmdset by use of
self.add().</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.server.profiling.dummyrunner.DummyRunnerCmdSet'</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.idcounter">
<span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">idcounter</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#idcounter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.idcounter" title="Link to this definition"></a></dt>
<dd><p>Makes unique ids.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>str</em> A globally unique id.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.gidcounter">
<span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">gidcounter</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#gidcounter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.gidcounter" title="Link to this definition"></a></dt>
<dd><p>Makes globally unique ids.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>count (int); A globally unique counter.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.makeiter">
<span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">makeiter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#makeiter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.makeiter" title="Link to this definition"></a></dt>
<dd><p>Makes everything iterable.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>obj</strong> (<em>any</em>) Object to turn iterable.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>iterable (iterable)</em> An iterable object.</p>
</dd>
</dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">DummyClient</span></span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">StatefulTelnetProtocol</span></code></p>
<p>Handles connection to a running Evennia server,
mimicking a real account by sending commands on
a timer.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.report">
<span class="sig-name descname"><span class="pre">report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clientkey</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.report"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.report" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.connectionMade">
<span class="sig-name descname"><span class="pre">connectionMade</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionMade"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.connectionMade" title="Link to this definition"></a></dt>
<dd><p>Called when connection is first established.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.dataReceived">
<span class="sig-name descname"><span class="pre">dataReceived</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.dataReceived"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.dataReceived" title="Link to this definition"></a></dt>
<dd><p>Called when data comes in over the protocol. We wait to start
stepping until the server actually responds</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>data</strong> (<em>str</em>) Incoming data.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.connectionLost">
<span class="sig-name descname"><span class="pre">connectionLost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reason</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionLost"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.connectionLost" title="Link to this definition"></a></dt>
<dd><p>Called when loosing the connection.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) Reason for loosing connection.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.error">
<span class="sig-name descname"><span class="pre">error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">err</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.error"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.error" title="Link to this definition"></a></dt>
<dd><p>Error callback.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>err</strong> (<em>Failure</em>) Error instance.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.counter">
<span class="sig-name descname"><span class="pre">counter</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.counter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.counter" title="Link to this definition"></a></dt>
<dd><p>Produces a unique id, also between clients.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>counter (int)</em> A unique counter.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.logout">
<span class="sig-name descname"><span class="pre">logout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.logout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.logout" title="Link to this definition"></a></dt>
<dd><p>Causes the client to log out of the server. Triggered by ctrl-c signal.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyClient.step">
<span class="sig-name descname"><span class="pre">step</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.step"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyClient.step" title="Link to this definition"></a></dt>
<dd><p>Perform a step. This is called repeatedly by the runner and
causes the client to issue commands to the server. This holds
all “intelligence” of the dummy client.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">DummyFactory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">ReconnectingClientFactory</span></code></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory.protocol">
<span class="sig-name descname"><span class="pre">protocol</span></span><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory.protocol" title="Link to this definition"></a></dt>
<dd><p>alias of <a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient" title="evennia.server.profiling.dummyrunner.DummyClient"><code class="xref py py-class docutils literal notranslate"><span class="pre">DummyClient</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory.initialDelay">
<span class="sig-name descname"><span class="pre">initialDelay</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory.initialDelay" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory.maxDelay">
<span class="sig-name descname"><span class="pre">maxDelay</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory.maxDelay" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory.noisy">
<span class="sig-name descname"><span class="pre">noisy</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory.noisy" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.DummyFactory.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.DummyFactory.__init__" title="Link to this definition"></a></dt>
<dd><p>Setup the factory base (shared by all clients)</p>
</dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.server.profiling.dummyrunner.start_all_dummy_clients">
<span class="sig-prename descclassname"><span class="pre">evennia.server.profiling.dummyrunner.</span></span><span class="sig-name descname"><span class="pre">start_all_dummy_clients</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nclients</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/profiling/dummyrunner.html#start_all_dummy_clients"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.profiling.dummyrunner.start_all_dummy_clients" title="Link to this definition"></a></dt>
<dd><p>Initialize all clients, connect them and start to step them</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>nclients</strong> (<em>int</em>) Number of dummy clients to connect.</p>
</dd>
</dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.server.profiling.dummyrunner</a><ul>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.key"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.key</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.func"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.func()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.aliases"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.aliases</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.help_category"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.help_category</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.lock_storage"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.lock_storage</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.search_index_entry"><code class="docutils literal notranslate"><span class="pre">CmdDummyRunnerEchoResponse.search_index_entry</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet"><code class="docutils literal notranslate"><span class="pre">DummyRunnerCmdSet</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.at_cmdset_creation"><code class="docutils literal notranslate"><span class="pre">DummyRunnerCmdSet.at_cmdset_creation()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.path"><code class="docutils literal notranslate"><span class="pre">DummyRunnerCmdSet.path</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.idcounter"><code class="docutils literal notranslate"><span class="pre">idcounter()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.gidcounter"><code class="docutils literal notranslate"><span class="pre">gidcounter()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.makeiter"><code class="docutils literal notranslate"><span class="pre">makeiter()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient"><code class="docutils literal notranslate"><span class="pre">DummyClient</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.report"><code class="docutils literal notranslate"><span class="pre">DummyClient.report()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.connectionMade"><code class="docutils literal notranslate"><span class="pre">DummyClient.connectionMade()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.dataReceived"><code class="docutils literal notranslate"><span class="pre">DummyClient.dataReceived()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.connectionLost"><code class="docutils literal notranslate"><span class="pre">DummyClient.connectionLost()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.error"><code class="docutils literal notranslate"><span class="pre">DummyClient.error()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.counter"><code class="docutils literal notranslate"><span class="pre">DummyClient.counter()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.logout"><code class="docutils literal notranslate"><span class="pre">DummyClient.logout()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyClient.step"><code class="docutils literal notranslate"><span class="pre">DummyClient.step()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory"><code class="docutils literal notranslate"><span class="pre">DummyFactory</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory.protocol"><code class="docutils literal notranslate"><span class="pre">DummyFactory.protocol</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory.initialDelay"><code class="docutils literal notranslate"><span class="pre">DummyFactory.initialDelay</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory.maxDelay"><code class="docutils literal notranslate"><span class="pre">DummyFactory.maxDelay</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory.noisy"><code class="docutils literal notranslate"><span class="pre">DummyFactory.noisy</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.DummyFactory.__init__"><code class="docutils literal notranslate"><span class="pre">DummyFactory.__init__()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.profiling.dummyrunner.start_all_dummy_clients"><code class="docutils literal notranslate"><span class="pre">start_all_dummy_clients()</span></code></a></li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.server.profiling.html"
title="previous chapter">evennia.server.profiling</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.server.profiling.dummyrunner_settings.html"
title="next chapter">evennia.server.profiling.dummyrunner_settings</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.server.profiling.dummyrunner.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.server.profiling.dummyrunner_settings.html" title="evennia.server.profiling.dummyrunner_settings"
>next</a> |</li>
<li class="right" >
<a href="evennia.server.profiling.html" title="evennia.server.profiling"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.server.html" >evennia.server</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.server.profiling.html" >evennia.server.profiling</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.profiling.dummyrunner</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>