Skip to content

Commit 1791346

Browse files
committed
GitHub build 142
1 parent b111bde commit 1791346

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+12410
-0
lines changed

.nojekyll

Whitespace-only changes.

Connection_manager.html

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
<!DOCTYPE html>
2+
<html class="writer-html5" lang="en" data-content_root="./">
3+
<head>
4+
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
5+
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Connection Manager &mdash; DTLMod documentation</title>
8+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
9+
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=86f27845" />
10+
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=8f9e6779" />
11+
<link rel="stylesheet" type="text/css" href="_static/tabs.css?v=a5c4661c" />
12+
<link rel="stylesheet" type="text/css" href="_static/showfile.css" />
13+
<link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=ff761f78" />
14+
15+
16+
<link rel="shortcut icon" href="_static/favicon.png"/>
17+
18+
<script src="_static/jquery.js?v=8dae8fb0"></script>
19+
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
20+
<script src="_static/documentation_options.js?v=5929fcd5"></script>
21+
<script src="_static/doctools.js?v=888ff710"></script>
22+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
23+
<script src="_static/clipboard.min.js?v=66b4909c"></script>
24+
<script src="_static/copybutton.js?v=d509b16f"></script>
25+
<script src="_static/showfile.js"></script>
26+
<script src="_static/js/theme.js"></script>
27+
<link rel="index" title="Index" href="genindex.html" />
28+
<link rel="search" title="Search" href="search.html" />
29+
<link rel="next" title="Engines" href="Engines.html" />
30+
<link rel="prev" title="Logging and Debugging" href="Logging.html" />
31+
</head>
32+
33+
<body class="wy-body-for-nav">
34+
<div class="wy-grid-for-nav">
35+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
36+
<div class="wy-side-scroll">
37+
<div class="wy-side-nav-search" >
38+
39+
40+
41+
<a href="index.html">
42+
43+
<img src="_static/DTLMod_logo.png" class="logo" alt="Logo"/>
44+
</a>
45+
<div class="version">
46+
0.2.0
47+
</div>
48+
<div role="search">
49+
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
50+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
51+
<input type="hidden" name="check_keywords" value="yes" />
52+
<input type="hidden" name="area" value="default" />
53+
</form>
54+
</div>
55+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
56+
<p class="caption" role="heading"><span class="caption-text">User Manual:</span></p>
57+
<ul>
58+
<li class="toctree-l1"><a class="reference internal" href="Introduction.html"> Introduction</a></li>
59+
<li class="toctree-l1"><a class="reference internal" href="Installing_DTLMod.html">    Installing DTLMod</a></li>
60+
<li class="toctree-l1"><a class="reference internal" href="New_project.html">    Start your own project</a></li>
61+
<li class="toctree-l1"><a class="reference internal" href="Workflow.html"> Designing your simulated in situ processing workflow</a></li>
62+
<li class="toctree-l1"><a class="reference internal" href="app_API.html">    The DTLMod programming interface</a></li>
63+
<li class="toctree-l1"><a class="reference internal" href="app_Actors.html">    Simulated actors</a></li>
64+
<li class="toctree-l1"><a class="reference internal" href="app_Main.html">    Composing simulated actors and    running the simulation</a></li>
65+
<li class="toctree-l1"><a class="reference internal" href="Platform.html"> Describing your simulated platform</a></li>
66+
<li class="toctree-l1"><a class="reference internal" href="Logging.html"> Logging and Debugging</a></li>
67+
</ul>
68+
<p class="caption" role="heading"><span class="caption-text">DTLMod's Internals:</span></p>
69+
<ul class="current">
70+
<li class="toctree-l1 current"><a class="current reference internal" href="#"> Connection manager</a></li>
71+
<li class="toctree-l1"><a class="reference internal" href="Engines.html"> Engines</a></li>
72+
<li class="toctree-l1"><a class="reference internal" href="Inside_File_engine.html">    Inside the File engine</a></li>
73+
<li class="toctree-l1"><a class="reference internal" href="Inside_Staging_engine.html">    Inside the Staging engine</a></li>
74+
</ul>
75+
76+
</div>
77+
</div>
78+
</nav>
79+
80+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
81+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
82+
<a href="index.html">DTLMod</a>
83+
</nav>
84+
85+
<div class="wy-nav-content">
86+
<div class="rst-content">
87+
<div role="navigation" aria-label="Page navigation">
88+
<ul class="wy-breadcrumbs">
89+
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
90+
<li class="breadcrumb-item active">Connection Manager</li>
91+
<li class="wy-breadcrumbs-aside">
92+
<a href="_sources/Connection_manager.rst.txt" rel="nofollow"> View page source</a>
93+
</li>
94+
</ul>
95+
<hr/>
96+
</div>
97+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
98+
<div itemprop="articleBody">
99+
100+
<section id="connection-manager">
101+
<span id="id1"></span><h1>Connection Manager<a class="headerlink" href="#connection-manager" title="Link to this heading"></a></h1>
102+
<p>To use a data transport layer in your simulator, the first thing you have to do it to call <code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">DTL::create()</span></code> in
103+
the <code class="docutils literal notranslate"><span class="pre">main</span></code> function of your code. This will trigger the creation of the <strong>DTLMod connection manager</strong> and an instance
104+
of a <a class="reference internal" href="app_API.html#concept-dtl"><span class="std std-ref">DTL</span></a> object.</p>
105+
<p>The connection manager is a <strong>daemon</strong> SimGrid actor (i.e., an simulated process running in the background and
106+
automatically killed when the simulation ends) that runs on the first host declared in your platform description. This
107+
daemon actor takes the newly created <a class="reference internal" href="app_API.html#concept-dtl"><span class="std std-ref">DTL</span></a> object as argument.</p>
108+
<p>Once started, the connection manager creates two SimGrid message queues (i.e., a rendez-vous point between actors
109+
thanks to which actors can exchange information without inducing any simulated cost): one to receive <strong>connection</strong> or
110+
<strong>disconnection</strong> requests and the other to send back a handler (i.e., a shared pointer) on the <a class="reference internal" href="app_API.html#concept-dtl"><span class="std std-ref">DTL</span></a> object in
111+
answer to a connection request.</p>
112+
<p>Then, the connection manager enters an infinite loop in which it waits for connection and disconnection requests on the
113+
first message queue. If it gets a <strong>connection request</strong>, meaning that an actor in your simulator called
114+
<code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">DTL::connect()</span></code>, the connection manager checks if this actor is already connected. If it is, it emits a
115+
warning message advising you to check your code logic. Otherwise, it adds the calling actor to a list of <strong>active
116+
connections</strong>, put the shared pointer on the <a class="reference internal" href="app_API.html#concept-dtl"><span class="std std-ref">DTL</span></a> object in its second
117+
message queue, and proceeds with waiting for the next request.</p>
118+
<p>Conversely, if it gets a <strong>disconnection request</strong>, meaning that an actor in your simulator called
119+
<code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">DTL::disconnect()</span></code>, the connection manager checks whether this actor was still connected. If it was not, it
120+
advises you to check your code logic. Otherwise, the connection manager removes the actor from the list of the active
121+
connections, puts an acknowlegment to the disconnecting actor in the second message queue, and waits for the next
122+
request.</p>
123+
<p>Note that if during the execution of your simulator all your actors disconnect themselves from the DTL you will receive
124+
a harmless message warning you that there is <strong>no active connection</strong> at the moment. However, the connection manager
125+
remains active in the background and ready to process subsequent connection requests.</p>
126+
<p>If you want to ignore this message you can either add <code class="docutils literal notranslate"><span class="pre">--log=dtlmod.t:critical</span></code> to the command line or call
127+
<code class="docutils literal notranslate"><span class="pre">xbt_log_control_set(&quot;dtlmod.t:critical&quot;)</span></code> in your code (see <a class="reference internal" href="Logging.html#logging"><span class="std std-ref">Logging and Debugging</span></a> for more details).</p>
128+
</section>
129+
130+
131+
</div>
132+
</div>
133+
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
134+
<a href="Logging.html" class="btn btn-neutral float-left" title="Logging and Debugging" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
135+
<a href="Engines.html" class="btn btn-neutral float-right" title="Engines" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
136+
</div>
137+
138+
<hr/>
139+
140+
<div role="contentinfo">
141+
<p>&#169; Copyright 2022-2025, The SWAT Team.</p>
142+
</div>
143+
144+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
145+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
146+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
147+
148+
149+
</footer>
150+
</div>
151+
</div>
152+
</section>
153+
</div>
154+
<script>
155+
jQuery(function () {
156+
SphinxRtdTheme.Navigation.enable(true);
157+
});
158+
</script>
159+
160+
</body>
161+
</html>

Engines.html

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
<!DOCTYPE html>
2+
<html class="writer-html5" lang="en" data-content_root="./">
3+
<head>
4+
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
5+
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Engines &mdash; DTLMod documentation</title>
8+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
9+
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=86f27845" />
10+
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=8f9e6779" />
11+
<link rel="stylesheet" type="text/css" href="_static/tabs.css?v=a5c4661c" />
12+
<link rel="stylesheet" type="text/css" href="_static/showfile.css" />
13+
<link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=ff761f78" />
14+
15+
16+
<link rel="shortcut icon" href="_static/favicon.png"/>
17+
18+
<script src="_static/jquery.js?v=8dae8fb0"></script>
19+
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
20+
<script src="_static/documentation_options.js?v=5929fcd5"></script>
21+
<script src="_static/doctools.js?v=888ff710"></script>
22+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
23+
<script src="_static/clipboard.min.js?v=66b4909c"></script>
24+
<script src="_static/copybutton.js?v=d509b16f"></script>
25+
<script src="_static/showfile.js"></script>
26+
<script src="_static/js/theme.js"></script>
27+
<link rel="index" title="Index" href="genindex.html" />
28+
<link rel="search" title="Search" href="search.html" />
29+
<link rel="next" title="Inside the File engine" href="Inside_File_engine.html" />
30+
<link rel="prev" title="Connection Manager" href="Connection_manager.html" />
31+
</head>
32+
33+
<body class="wy-body-for-nav">
34+
<div class="wy-grid-for-nav">
35+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
36+
<div class="wy-side-scroll">
37+
<div class="wy-side-nav-search" >
38+
39+
40+
41+
<a href="index.html">
42+
43+
<img src="_static/DTLMod_logo.png" class="logo" alt="Logo"/>
44+
</a>
45+
<div class="version">
46+
0.2.0
47+
</div>
48+
<div role="search">
49+
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
50+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
51+
<input type="hidden" name="check_keywords" value="yes" />
52+
<input type="hidden" name="area" value="default" />
53+
</form>
54+
</div>
55+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
56+
<p class="caption" role="heading"><span class="caption-text">User Manual:</span></p>
57+
<ul>
58+
<li class="toctree-l1"><a class="reference internal" href="Introduction.html"> Introduction</a></li>
59+
<li class="toctree-l1"><a class="reference internal" href="Installing_DTLMod.html">    Installing DTLMod</a></li>
60+
<li class="toctree-l1"><a class="reference internal" href="New_project.html">    Start your own project</a></li>
61+
<li class="toctree-l1"><a class="reference internal" href="Workflow.html"> Designing your simulated in situ processing workflow</a></li>
62+
<li class="toctree-l1"><a class="reference internal" href="app_API.html">    The DTLMod programming interface</a></li>
63+
<li class="toctree-l1"><a class="reference internal" href="app_Actors.html">    Simulated actors</a></li>
64+
<li class="toctree-l1"><a class="reference internal" href="app_Main.html">    Composing simulated actors and    running the simulation</a></li>
65+
<li class="toctree-l1"><a class="reference internal" href="Platform.html"> Describing your simulated platform</a></li>
66+
<li class="toctree-l1"><a class="reference internal" href="Logging.html"> Logging and Debugging</a></li>
67+
</ul>
68+
<p class="caption" role="heading"><span class="caption-text">DTLMod's Internals:</span></p>
69+
<ul class="current">
70+
<li class="toctree-l1"><a class="reference internal" href="Connection_manager.html"> Connection manager</a></li>
71+
<li class="toctree-l1 current"><a class="current reference internal" href="#"> Engines</a></li>
72+
<li class="toctree-l1"><a class="reference internal" href="Inside_File_engine.html">    Inside the File engine</a></li>
73+
<li class="toctree-l1"><a class="reference internal" href="Inside_Staging_engine.html">    Inside the Staging engine</a></li>
74+
</ul>
75+
76+
</div>
77+
</div>
78+
</nav>
79+
80+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
81+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
82+
<a href="index.html">DTLMod</a>
83+
</nav>
84+
85+
<div class="wy-nav-content">
86+
<div class="rst-content">
87+
<div role="navigation" aria-label="Page navigation">
88+
<ul class="wy-breadcrumbs">
89+
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
90+
<li class="breadcrumb-item active">Engines</li>
91+
<li class="wy-breadcrumbs-aside">
92+
<a href="_sources/Engines.rst.txt" rel="nofollow"> View page source</a>
93+
</li>
94+
</ul>
95+
<hr/>
96+
</div>
97+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
98+
<div itemprop="articleBody">
99+
100+
<section id="engines">
101+
<span id="id1"></span><h1>Engines<a class="headerlink" href="#engines" title="Link to this heading"></a></h1>
102+
<p>The set of functions in the DTLMod API that are related to engines is limited to the following ones:</p>
103+
<blockquote>
104+
<div><ul class="simple">
105+
<li><p><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">begin_transaction()</span></code></p></li>
106+
<li><p><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">put()</span></code> or <code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">get()</span></code></p></li>
107+
<li><p><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">end_transaction()</span></code></p></li>
108+
<li><p><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">close()</span></code></p></li>
109+
</ul>
110+
</div></blockquote>
111+
<p>However, this simple API hides more complex behaviors that depend on the engine type (i.e., File or Staging) and of
112+
whether these functions are called on the publisher or subscriber side. In this section, we describe the internal
113+
behavior of the File and Staging engines.</p>
114+
</section>
115+
116+
117+
</div>
118+
</div>
119+
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
120+
<a href="Connection_manager.html" class="btn btn-neutral float-left" title="Connection Manager" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
121+
<a href="Inside_File_engine.html" class="btn btn-neutral float-right" title="Inside the File engine" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
122+
</div>
123+
124+
<hr/>
125+
126+
<div role="contentinfo">
127+
<p>&#169; Copyright 2022-2025, The SWAT Team.</p>
128+
</div>
129+
130+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
131+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
132+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
133+
134+
135+
</footer>
136+
</div>
137+
</div>
138+
</section>
139+
</div>
140+
<script>
141+
jQuery(function () {
142+
SphinxRtdTheme.Navigation.enable(true);
143+
});
144+
</script>
145+
146+
</body>
147+
</html>

0 commit comments

Comments
 (0)