You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/05/31 03:12:21 UTC

[01/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Repository: mesos-site
Updated Branches:
  refs/heads/asf-site 9381215f5 -> e42c5d57e


http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/tests_2containerizer_2launcher_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/tests_2containerizer_2launcher_8hpp.html b/content/api/latest/c++/tests_2containerizer_2launcher_8hpp.html
index 7cbddae..dd3582d 100644
--- a/content/api/latest/c++/tests_2containerizer_2launcher_8hpp.html
+++ b/content/api/latest/c++/tests_2containerizer_2launcher_8hpp.html
@@ -55,8 +55,7 @@
 <div class="title">launcher.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;map&gt;</code><br />
+<div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
 <code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;gmock/gmock.h&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/tests_2containerizer_2launcher_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/tests_2containerizer_2launcher_8hpp_source.html b/content/api/latest/c++/tests_2containerizer_2launcher_8hpp_source.html
index 7c3050f..6c89050 100644
--- a/content/api/latest/c++/tests_2containerizer_2launcher_8hpp_source.html
+++ b/content/api/latest/c++/tests_2containerizer_2launcher_8hpp_source.html
@@ -52,9 +52,10 @@
 <div class="title">launcher.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="tests_2containerizer_2launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name
 ="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class
 ="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TEST_LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TEST_LAUNCHER_HPP__</span></div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a
 ><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a
 ><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="
 code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a
  name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">   47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">TestLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">slave::Launcher</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722">TestLauncher</a>(<span class="key
 word">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;slave::Launcher&gt;</a>&amp; _real);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a79fd9c048b6ad3aa6ea8081da0773a37">~TestLauncher</a>();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">MOCK_METHOD1</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>,</div><div class="line"><a name="l00056"></a><span class="lineno">   
 56</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&gt;(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;          <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states));</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c">MOCK_METHOD10</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <a class="code" href="classTry.html">Try&lt;
 pid_t&gt;</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;          <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;          <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div
 ><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;          <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; env,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00071"></a><span class="lineno">   7
 1</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces));</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">MOCK_METHOD1</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp; containerId));</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line
 "><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">MOCK_METHOD1</a>(</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>,</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a>(<span class="keyword">const</span> ContainerID&amp; containerId));</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">   81</a></span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&
 lt;slave::Launcher&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">real</a>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#endif // __TEST_LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath
 _html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<a href="tests_2containerizer_2launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name
 ="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class
 ="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TEST_LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TEST_LAUNCHER_HPP__</span></div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">meso
 s/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subproc
 ess.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>
 &#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#1
 60;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">   46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">TestLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">slave::Launcher</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722">TestLauncher</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;slave::Launcher&gt;</a>&amp; _real);</div><div class
 ="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a79fd9c048b6ad3aa6ea8081da0773a37">~TestLauncher</a>();</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">MOCK_METHOD1</a>(</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classhashset.html">has
 hset&lt;ContainerID&gt;</a>&gt;(</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;          <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states));</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c">MOCK_METHOD10</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <a class="code" href="classTry.html">Try&lt;pid_t&gt;</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;          <span class="keyword">const</
 span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;          <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;          <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;          <span class="keyword">const</span> <a class="cod
 e" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;          <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; env,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamesp
 aces));</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">MOCK_METHOD1</a>(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp; containerId));</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.htm
 l#a364457036ee4eee072a47db251e590ab">MOCK_METHOD1</a>(</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a>(<span class="keyword">const</span> ContainerID&amp; containerId));</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">   80</a></span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;slave::Launcher&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">
 real</a>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;};</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#endif // __TEST_LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></div><div class="ttdef"><b>Definition:</b> launcher.hpp:46</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a93e8c38b7a4d497b37ce82d9108fedb4"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_a79fd9c048b6ad3aa6ea8081da0773a37"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a79fd9c048b6ad3aa6ea8081da0773a37">mesos::internal::tests::TestLauncher::~TestLauncher</a></div><div class="ttdeci">~TestLauncher()</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
@@ -63,22 +64,21 @@
 <div class="ttc" id="include_2mesos_2slave_2isolator_8hpp_html"><div class="ttname"><a href="include_2mesos_2slave_2isolator_8hpp.html">isolator.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_a8b42f69691df4dc87f8e0c6f1bb01f2c"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c">mesos::internal::tests::TestLauncher::MOCK_METHOD10</a></div><div class="ttdeci">MOCK_METHOD10(fork, Try&lt; pid_t &gt;(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;env, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces))</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_a03b2e4b3d90bb58e6e032c153e929722"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722">mesos::internal::tests::TestLauncher::TestLauncher</a></div><div class="ttdeci">TestLauncher(const process::Owned&lt; slave::Launcher &gt; &amp;_real)</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_a364457036ee4eee072a47db251e590ab"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">mesos::internal::tests::TestLauncher::MOCK_METHOD1</a></div><div class="ttdeci">MOCK_METHOD1(recover, process::Future&lt; hashset&lt; ContainerID &gt;&gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states))</div></div>
 <div class="ttc" id="lambda_8hpp_html"><div class="ttname"><a href="lambda_8hpp.html">lambda.hpp</a></div></div>
 <div class="ttc" id="nothing_8hpp_html"><div class="ttname"><a href="nothing_8hpp.html">nothing.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_adf9cd543b7aaf0b999a2a00aa31c6175"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">mesos::internal::slave::Launcher::destroy</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; destroy(const ContainerID &amp;containerId)=0</div></div>
 <div class="ttc" id="classprocess_1_1Subprocess_1_1IO_html"><div class="ttname"><a href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a></div><div class="ttdoc">Describes how the I/O is redirected for stdin/stdout/stderr. </div><div class="ttdef"><b>Definition:</b> subprocess.hpp:61</div></div>
 <div class="ttc" id="classflags_1_1FlagsBase_html"><div class="ttname"><a href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div class="ttdef"><b>Definition:</b> flags.hpp:44</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_aa11a2562a50b189dc11365a761989b83"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">mesos::internal::tests::TestLauncher::MOCK_METHOD1</a></div><div class="ttdeci">MOCK_METHOD1(recover, process::Future&lt; hashset&lt; ContainerID &gt;&gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states))</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
 <div class="ttc" id="3rdparty_2stout_2include_2stout_2flags_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></div><div class="ttdef"><b>Definition:</b> launcher.hpp:47</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></div><div class="ttdef"><b>Definition:</b> launcher.hpp:46</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a0a8e37767fb1a65c63bb31b26727697e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a45a6d7403aeb433663419923a9956bc0"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">mesos::internal::slave::Launcher::status</a></div><div class="ttdeci">virtual process::Future&lt; ContainerStatus &gt; status(const ContainerID &amp;containerId)=0</div></div>
 <div class="ttc" id="owned_8hpp_html"><div class="ttname"><a href="owned_8hpp.html">owned.hpp</a></div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_af98963da1a56e1ec7422f074b889d286"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">mesos::internal::tests::TestLauncher::real</a></div><div class="ttdeci">process::Owned&lt; slave::Launcher &gt; real</div><div class="ttdef"><b>Definition:</b> launcher.hpp:81</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1TestLauncher_html_af98963da1a56e1ec7422f074b889d286"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">mesos::internal::tests::TestLauncher::real</a></div><div class="ttdeci">process::Owned&lt; slave::Launcher &gt; real</div><div class="ttdef"><b>Definition:</b> launcher.hpp:80</div></div>
 <div class="ttc" id="slave_2containerizer_2mesos_2launcher_8hpp_html"><div class="ttname"><a href="slave_2containerizer_2mesos_2launcher_8hpp.html">launcher.hpp</a></div></div>
 <div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a href="classprocess_1_1Owned.html">process::Owned&lt; slave::Launcher &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_af6c5246e61f3959d393d06f4abf23b45"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">mesos::internal::slave::Launcher::fork</a></div><div class="ttdeci">virtual Try&lt; pid_t &gt; fork(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces)=0</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/windows_2cpu_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/windows_2cpu_8hpp.html b/content/api/latest/c++/windows_2cpu_8hpp.html
index 266a3f5..a7ee3c5 100644
--- a/content/api/latest/c++/windows_2cpu_8hpp.html
+++ b/content/api/latest/c++/windows_2cpu_8hpp.html
@@ -55,7 +55,7 @@
 <div class="title">cpu.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
+<div class="textblock"><code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="id_8hpp_source.html">process/id.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="hashmap_8hpp_source.html">stout/hashmap.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/windows_2cpu_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/windows_2cpu_8hpp_source.html b/content/api/latest/c++/windows_2cpu_8hpp_source.html
index 8e4f5e2..c3e8f09 100644
--- a/content/api/latest/c++/windows_2cpu_8hpp_source.html
+++ b/content/api/latest/c++/windows_2cpu_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">cpu.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="windows_2cpu_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa
 n class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dist
 ributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div
  class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="
 l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">stout/windows.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a clas
 s="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span>slave {</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">   39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">WindowsCpuIsolatorProcess</a> final : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_
 1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a79b38dece567246f6e44a9730561bdd2">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af4b1ea81568c04ee32d5598aa4a61855">supportsNesting</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e">supportsStandalone</a>() <span class="keyword">override</span>;</div><div class="line
 "><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">recover</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans) <span class="keyword">override</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <a class="code" href="class
 process_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">prepare</a>(</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig) <span class="keyword">override</span>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b">isolate</a>(</d
 iv><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a44fa211c9849d244747b1364a371cb7a">update</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keyword">
 override</span>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a616c92f53c1abf76f2f70aaf4d82e869">usage</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ae9aeb71cb082870d963f4824681fb52d">cleanup</
 a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="classOption.html">Option&lt;double&gt;</a> limit;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  };</div><div class="line"><a name="l00072"></a><span class="lineno">   7
 2</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info&gt;</a> infos;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">WindowsCpuIsolatorProcess</a>()</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&quot;windows-cpu-isolator&quot;</span>))</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  {}</div><div class="line"><a name="l00078"></a><span class="l
 ineno">   78</span>&#160;};</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#endif // __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::
 string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
+<a href="windows_2cpu_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa
 n class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dist
 ributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div
  class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name
 ="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">stout/windows.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a cl
 ass="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span>slave {</di
 v><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">   39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">WindowsCpuIsolatorProcess</a> final : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmeso
 s_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a79b38dece567246f6e44a9730561bdd2">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af4b1ea81568c04ee32d5598aa4a61855">supportsNesting</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e">supportsStandalone</a>() <span class="keyword">override</span>;</div><div class="li
 ne"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">recover</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans) <span class="keyword">override</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <a class="code" href="c
 lassprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">prepare</a>(</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig) <span class="keyword">override</span>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b">isolate</a>
 (</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a44fa211c9849d244747b1364a371cb7a">update</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keywo
 rd">override</span>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a616c92f53c1abf76f2f70aaf4d82e869">usage</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ae9aeb71cb082870d963f4824681fb52d">clean
 up</a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="classOption.html">Option&lt;double&gt;</a> limit;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  };</div><div class="line"><a name="l00072"></a><span class="lineno">
    72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info&gt;</a> infos;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">WindowsCpuIsolatorProcess</a>()</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&quot;windows-cpu-isolator&quot;</span>))</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  {}</div><div class="line"><a name="l00078"></a><span clas
 s="lineno">   78</span>&#160;};</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#endif // __WINDOWS_CPU_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">s
 td::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess_html_a625997c8386c1918142d303185105f7e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e">mesos::internal::slave::WindowsCpuIsolatorProcess::supportsStandalone</a></div><div class="ttdeci">bool supportsStandalone() override</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; pid_t &gt;</a></div></div>
 <div class="ttc" id="classprocess_1_1ProcessBase_html_a318038bacd95e4260864533f7cfe12fd"><div class="ttname"><a href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">process::ProcessBase::ProcessBase</a></div><div class="ttdeci">ProcessBase(const std::string &amp;id=&quot;&quot;)</div></div>
@@ -60,6 +60,7 @@
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess_html_af4b1ea81568c04ee32d5598aa4a61855"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af4b1ea81568c04ee32d5598aa4a61855">mesos::internal::slave::WindowsCpuIsolatorProcess::supportsNesting</a></div><div class="ttdeci">bool supportsNesting() override</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1Resources_html"><div class="ttname"><a href="classmesos_1_1Resources.html">mesos::Resources</a></div><div class="ttdef"><b>Definition:</b> resources.hpp:79</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess_html_a66a8a20877c3559b722116f93eeb76c1"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">mesos::internal::slave::WindowsCpuIsolatorProcess::recover</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Flags_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Flags.html">mesos::internal::slave::Flags</a></div><div class="ttdef"><b>Definition:</b> flags.hpp:39</div></div>
 <div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">windows.hpp</a></div></div>
 <div class="ttc" id="src_2slave_2containerizer_2mesos_2isolator_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">isolator.hpp</a></div></div>
@@ -74,7 +75,6 @@
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess_html_a503f133dc40d594bb272989d00fa4b9b"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b">mesos::internal::slave::WindowsCpuIsolatorProcess::isolate</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; isolate(const ContainerID &amp;containerId, pid_t pid) override</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess_html_af5755ddab871fe5096a19dfd117ecf9c"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">mesos::internal::slave::WindowsCpuIsolatorProcess::recover</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>
 <div class="ttc" id="hashset_8hpp_html"><div class="ttname"><a href="hashset_8hpp.html">hashset.hpp</a></div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/documentation/latest/upgrades/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/latest/upgrades/index.html b/content/documentation/latest/upgrades/index.html
index ad83a32..cd2af87 100644
--- a/content/documentation/latest/upgrades/index.html
+++ b/content/documentation/latest/upgrades/index.html
@@ -170,6 +170,7 @@ R Removed feature/behavior
   <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
     <ul style="padding-left:10px;">
       <li>C <a href="#1-7-x-container-logger">ContainerLogger module interface changes</a></li>
+      <li>C <a href="#1-7-x-isolator-recover">Isolator::recover module interface change</a></li>
     </ul>
   </td>
 
@@ -553,6 +554,13 @@ that have been whitelisted with the <code>--allowed_devices</code> agent flag.</
 </ul>
 
 
+<p><a name="1-7-x-isolator-recover"></a></p>
+
+<ul>
+<li><code>Isolator::recover()</code> has been updated to take an <code>std::vector</code> instead of <code>std::list</code> of container states.</li>
+</ul>
+
+
 <h2>Upgrading from 1.5.x to 1.6.x</h2>
 
 <p><a name="1-6-x-grpc-requirement"></a></p>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/documentation/upgrades/index.html
----------------------------------------------------------------------
diff --git a/content/documentation/upgrades/index.html b/content/documentation/upgrades/index.html
index 61dfaf4..bbbef57 100644
--- a/content/documentation/upgrades/index.html
+++ b/content/documentation/upgrades/index.html
@@ -170,6 +170,7 @@ R Removed feature/behavior
   <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
     <ul style="padding-left:10px;">
       <li>C <a href="#1-7-x-container-logger">ContainerLogger module interface changes</a></li>
+      <li>C <a href="#1-7-x-isolator-recover">Isolator::recover module interface change</a></li>
     </ul>
   </td>
 
@@ -553,6 +554,13 @@ that have been whitelisted with the <code>--allowed_devices</code> agent flag.</
 </ul>
 
 
+<p><a name="1-7-x-isolator-recover"></a></p>
+
+<ul>
+<li><code>Isolator::recover()</code> has been updated to take an <code>std::vector</code> instead of <code>std::list</code> of container states.</li>
+</ul>
+
+
 <h2>Upgrading from 1.5.x to 1.6.x</h2>
 
 <p><a name="1-6-x-grpc-requirement"></a></p>


[08/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp.html
index 8e88bb2..7b0bf78 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp.html
@@ -57,8 +57,7 @@
 <div class="title">containerizer.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;vector&gt;</code><br />
+<div class="textblock"><code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="resolver_8hpp_source.html">mesos/secret/resolver.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="include_2mesos_2slave_2isolator_8hpp_source.html">mesos/slave/isolator.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="id_8hpp_source.html">process/id.hpp</a>&gt;</code><br />


[36/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/collect_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/collect_8hpp.html b/content/api/latest/c++/collect_8hpp.html
index f0e8948..2661471 100644
--- a/content/api/latest/c++/collect_8hpp.html
+++ b/content/api/latest/c++/collect_8hpp.html
@@ -57,8 +57,8 @@
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><code>#include &lt;functional&gt;</code><br />
-<code>#include &lt;list&gt;</code><br />
 <code>#include &lt;tuple&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="libprocess_2include_2process_2check_8hpp_source.html">process/check.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="defer_8hpp_source.html">process/defer.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
@@ -85,15 +85,15 @@ Namespaces</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::list&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">process::collect</a> (const std::list&lt; Future&lt; T &gt;&gt; &amp;futures)</td></tr>
-<tr class="separator:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a871061d70cd1c8bf39df4d1154cd1857"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a871061d70cd1c8bf39df4d1154cd1857"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::vector&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">process::collect</a> (const std::vector&lt; Future&lt; T &gt;&gt; &amp;futures)</td></tr>
+<tr class="separator:a871061d70cd1c8bf39df4d1154cd1857"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6f599ec39a0b29f140d3556dda0940f7"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
 <tr class="memitem:a6f599ec39a0b29f140d3556dda0940f7"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::tuple&lt; Ts... &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a6f599ec39a0b29f140d3556dda0940f7">process::collect</a> (const Future&lt; Ts &gt; &amp;...futures)</td></tr>
 <tr class="separator:a6f599ec39a0b29f140d3556dda0940f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9244f063b856adbc7182f8620b01034c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a9244f063b856adbc7182f8620b01034c"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::list&lt; Future&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">process::await</a> (const std::list&lt; Future&lt; T &gt;&gt; &amp;futures)</td></tr>
-<tr class="separator:a9244f063b856adbc7182f8620b01034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e2dd66121c628a77b57766a7a276838"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a4e2dd66121c628a77b57766a7a276838"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::vector&lt; Future&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">process::await</a> (const std::vector&lt; Future&lt; T &gt;&gt; &amp;futures)</td></tr>
+<tr class="separator:a4e2dd66121c628a77b57766a7a276838"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
 <tr class="memitem:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memTemplItemLeft" align="right" valign="top">Future&lt; std::tuple&lt; Future&lt; Ts &gt;... &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a798bdf13d396404bbf4cd7bb9d25c62c">process::await</a> (const Future&lt; Ts &gt; &amp;...futures)</td></tr>
 <tr class="separator:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memSeparator" colspan="2">&#160;</td></tr>


[11/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2log_2log_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2log_2log_8hpp_source.html b/content/api/latest/c++/src_2log_2log_8hpp_source.html
index cb6e5f4..cebf008 100644
--- a/content/api/latest/c++/src_2log_2log_8hpp_source.html
+++ b/content/api/latest/c++/src_2log_2log_8hpp_source.html
@@ -61,7 +61,7 @@
 <div class="ttc" id="include_2mesos_2log_2log_8hpp_html"><div class="ttname"><a href="include_2mesos_2log_2log_8hpp.html">log.hpp</a></div></div>
 <div class="ttc" id="namespacesystemd_1_1slices_html_a95aa197d8eed9f20dacb44f433b15f01"><div class="ttname"><a href="namespacesystemd_1_1slices.html#a95aa197d8eed9f20dacb44f433b15f01">systemd::slices::start</a></div><div class="ttdeci">Try&lt; Nothing &gt; start(const std::string &amp;name)</div><div class="ttdoc">Starts the slice with the given name (via &amp;#39;systemctl start &lt;name&gt;&amp;#39;). </div></div>
 <div class="ttc" id="3rdparty_2libprocess_2include_2process_2shared_8hpp_html"><div class="ttname"><a href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">shared.hpp</a></div></div>
-<div class="ttc" id="classNetwork_html_ac273d79a8be8f05411440757979dae5d"><div class="ttname"><a href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">Network::watch</a></div><div class="ttdeci">process::Future&lt; size_t &gt; watch(size_t size, WatchMode mode=NOT_EQUAL_TO) const </div><div class="ttdef"><b>Definition:</b> network.hpp:367</div></div>
+<div class="ttc" id="classNetwork_html_ac273d79a8be8f05411440757979dae5d"><div class="ttname"><a href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">Network::watch</a></div><div class="ttdeci">process::Future&lt; size_t &gt; watch(size_t size, WatchMode mode=NOT_EQUAL_TO) const </div><div class="ttdef"><b>Definition:</b> network.hpp:368</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1log_1_1LogProcess_html_a45a6cc2508831951ba9db367a4f54614"><div class="ttname"><a href="classmesos_1_1internal_1_1log_1_1LogProcess.html#a45a6cc2508831951ba9db367a4f54614">mesos::internal::log::LogProcess::recover</a></div><div class="ttdeci">process::Future&lt; process::Shared&lt; Replica &gt; &gt; recover()</div></div>
 <div class="ttc" id="classprocess_1_1ProcessBase_html_afb219ae4b5e8dab3f724e78032e03d0c"><div class="ttname"><a href="classprocess_1_1ProcessBase.html#afb219ae4b5e8dab3f724e78032e03d0c">process::ProcessBase::message</a></div><div class="ttdeci">hashmap&lt; std::string, MessageHandler &gt; message</div><div class="ttdef"><b>Definition:</b> process.hpp:451</div></div>
 <div class="ttc" id="classprocess_1_1Shared_html"><div class="ttname"><a href="classprocess_1_1Shared.html">process::Shared</a></div><div class="ttdef"><b>Definition:</b> owned.hpp:26</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2log_2network_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2log_2network_8hpp.html b/content/api/latest/c++/src_2log_2network_8hpp.html
index 762888c..852ff95 100644
--- a/content/api/latest/c++/src_2log_2network_8hpp.html
+++ b/content/api/latest/c++/src_2log_2network_8hpp.html
@@ -54,9 +54,10 @@
 <div class="title">network.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
+<div class="textblock"><code>#include &lt;deque&gt;</code><br />
 <code>#include &lt;set&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="group_8hpp_source.html">mesos/zookeeper/group.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="collect_8hpp_source.html">process/collect.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="3rdparty_2libprocess_2include_2process_2executor_8hpp_source.html">process/executor.hpp</a>&gt;</code><br />


[15/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_2containerizer_2docker_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_2containerizer_2docker_8hpp_source.html b/content/api/latest/c++/slave_2containerizer_2docker_8hpp_source.html
index 86cef60..31ffeb9 100644
--- a/content/api/latest/c++/slave_2containerizer_2docker_8hpp_source.html
+++ b/content/api/latest/c++/slave_2containerizer_2docker_8hpp_source.html
@@ -52,16 +52,16 @@
 <div class="title">docker.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="slave_2containerizer_2docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="
 l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="
 comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_CONTAINERIZER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __DOCKER_CONTAINERIZER_HPP__<
 /span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt;</span></div><div class="line"><a name="l0002
 6"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div c
 lass="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="docker_2docker_8hpp.html">docker/docker.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2docker_2executor_8hpp.html">docker/executor.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2containerizer_8hpp.html">slave/containerizer/containerizer.hpp</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>
 &#160;<span class="preprocessor">#include &quot;<a class="code" href="components_8hpp.html">slave/containerizer/mesos/isolators/gpu/components.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// Prefix used to name Docker containers in order to distinguish those
 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// created by Mesos from those created manually.</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> std::string <a class="code" href="namespacemesos_1_1internal_1_1slave.html#a0c53f4af1348f95a6394761ed6a4b279">DOCKER_NAME_PREFIX</a>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// Separator used to compose docker container name, which consists</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// of the name prefix, ContainerID, and possibly the SlaveID depending</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class
 ="comment">// on the version of Mesos used to create the container.</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> std::string <a class="code" href="namespacemesos_1_1internal_1_1slave.html#af53050cb063baa2f543665f62d1bb54d">DOCKER_NAME_SEPERATOR</a>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// Directory that stores all the symlinked sandboxes that is mapped</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// into Docker containers. This is a relative directory that will</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// joined with the slave path. Only sandbox paths that contains a</span></div><div c
 lass="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// colon will be symlinked due to the limitation of the Docker CLI.</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> std::string <a class="code" href="namespacemesos_1_1internal_1_1slave.html#a9690bce52c7b9682d6afb4293eb60258">DOCKER_SYMLINK_DIRECTORY</a>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">class </span>DockerContainerizerProcess;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<
 /div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">   64</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">DockerContainerizer</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">Containerizer</a></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;DockerContainerizer*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContai
 nerizer.html#ae4acf3fad0a189161329d3fefcd5b1f0">create</a>(</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="comment">// This is only public for tests.</sp
 an></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#aa687341b669134a07562d31ece0be0c4">DockerContainerizer</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; logger,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <a class="code" href="classprocess_1_
 1Shared.html">process::Shared&lt;Docker&gt;</a> <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// This is only public for tests.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#aa687341b669134a07562d31ece0be0c4">DockerContainerizer</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.h
 tml">process::Owned&lt;DockerContainerizerProcess&gt;</a>&amp; _process);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a943f2266fe67cc1a87da2355213d5280">~DockerContainerizer</a>();</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a746949ba7f35257f364278a0067a2e8b">recover</a>(</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keyword">const</span> <a class="code" href="clas
 sOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a61ba4cf750d8896d2034af8d9128c218">launch</a>(</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt
 ;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a2ca322cbd1737f4f03c5b96ee882e5a6">update</a>(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#16
 0;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a6c73fbdbf7a29d098e66913b210b2f9b">usage</a>(</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <
 span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a28593137a3a912b700beb174abc6d418">status</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a4189f8aaa987a4121036d66a780fad5d">wait</a>(</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span>
  ContainerID&amp; containerId);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a380174b01bc38427b19f4777c872fd4c">destroy</a>(</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1
 internal_1_1slave_1_1DockerContainerizer.html#aadca51b8cdaff5ee8e385c03682edf3d">containers</a>();</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a40ada9b4cf916d4c22ec8c0a8536b3d3">pruneImages</a>(</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <a class="c
 ode" href="classprocess_1_1Owned.html">process::Owned&lt;DockerContainerizerProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;};</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html">  122</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html">DockerContainerizerProcess</a></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">p
 rocess::Process</a>&lt;DockerContainerizerProcess&gt;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#abcad81a9a5628d8f2d725f29890f8f00">  126</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#abcad81a9a5628d8f2d725f29890f8f00">DockerContainerizerProcess</a>(</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher
 .html">Fetcher</a>* _fetcher,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; _logger,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;</a> _docker,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; _nvidia)</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    : <a class="code" href="namespaceflags.html">flags</a>(_flags),</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      fetcher(_fetcher),</div><div class="line"><a name="l00134"></a><span class="lineno">  1
 34</span>&#160;      logger(_logger),</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <a class="code" href="namespacedocker.html">docker</a>(_docker),</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      nvidia(_nvidia) {}</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a746949ba7f35257f364278a0067a2e8b">recover</a>(</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state);</div><div class="line"><a name="l00140"></a><span class="linen
 o">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a61ba4cf750d8896d2034af8d9128c218">launch</a>(</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</di
 v><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="comment">// force = true causes the containerizer to update the resources</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="comment">// for the container, even if they match what it has cached.</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a2ca322cbd1737f4f03c5b96ee882e5a6">update</a>(</div><
 div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>,</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class="keywordtype">bool</span> force);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a6c73fbd
 bf7a29d098e66913b210b2f9b">usage</a>(</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a28593137a3a912b700beb174abc6d418">status</a>(</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keyword">virtual</span> <a class="code
 " href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a4189f8aaa987a4121036d66a780fad5d">wait</a>(</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a380174b01bc38427b19f4777c872fd4c">destroy</a>(</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <span class="keyword">const</span> ContainerID&amp
 ; containerId,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <span class="keywordtype">bool</span> killed = <span class="keyword">true</span>); <span class="comment">// process is either killed or reaped.</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespaceflags.html#a27c0d145bbd7c2870512fd59a50222d9">fetch</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> pull(
 <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#aadca51b8cdaff5ee8e385c03682edf3d">containers</a>();</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="comment">// Continuations and helpers.</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <a class="code" href="classprocess_1_1Future.html">
 process::Future&lt;Nothing&gt;</a> _fetch(</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; status);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1state_1_1internal.html#a749d698dcb6786428fa589b72cee6467">checkpoint</a>(</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160
 ;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> _launch(</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;<
 /a> _recover(</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state,</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;      <span class="keyword">const</span> std::list&lt;Docker::Container&gt;&amp; containers);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __recover(</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">const</span> std::list&lt;Docker::Container&gt;&amp; containers);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  
 194</span>&#160;  <span class="comment">// Starts the executor in a Docker container.</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Container&gt;</a> launchExecutorContainer(</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="comment">// Starts the docker executor with a subprocess.</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <a class="code" href="classprocess_1_1Future.html">proc
 ess::Future&lt;pid_t&gt;</a> launchExecutorProcess(</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;pid_t&gt;</a> checkpointExecutor(</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker_1_1Container.html">Docker::Container</a>&amp; dockerContainer);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="
 lineno">  207</span>&#160;  <span class="comment">// Reaps on the executor pid.</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> reapExecutor(</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keywordtype">void</span> _destroy(</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;      <span class="keyword">const</span> ContainerID&amp; 
 containerId,</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <span class="keywordtype">bool</span> killed);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keywordtype">void</span> __destroy(</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;      <span class="keywordtype">bool</span> killed,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l
 00221"></a><span class="lineno">  221</span>&#160;  <span class="keywordtype">void</span> ___destroy(</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keywordtype">bool</span> killed,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; status);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="keywordtype">void</span> ____destroy(</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      <span class="keywor
 d">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keywordtype">bool</span> killed,</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; status);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> destroyTimeout(</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      <a class="code" href="cl
 assprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> future);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _update(</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources,</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker_1_1Container.html">Docker::Container</a>&amp; container);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</d
 iv><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __update(</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources,</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothin
 g&gt;</a> mountPersistentVolumes(</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> unmountPersistentVolumes(</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> updatePersistentVolumes(</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keyword">const</span> ContainerID&amp; conta
 inerId,</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; current,</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; updated);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#ifdef __linux__</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="comment">// Allocate GPU resources for a specified container.</span></div><div class="line"><a name="l00259"></a><span
  class="lineno">  259</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> allocateNvidiaGpus(</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">size_t</span> count);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _allocateNvidiaGpus(</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      <span clas
 s="keyword">const</span> std::set&lt;Gpu&gt;&amp; allocated);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">// Deallocate GPU resources for a specified container.</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> deallocateNvidiaGpus(</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _deallocateNvidiaGpus(</div><div class="line"><a name="l00272"></a><span class=
 "lineno">  272</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;      <span class="keyword">const</span> std::set&lt;Gpu&gt;&amp; deallocated);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">#endif // __linux__</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <a class="code" href="classTry.html">Try&lt;ResourceStatistics&gt;</a> cgroupsStatistics(<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) <span class="keyword">const</span>;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="
 comment">// Call back for when the executor exits. This will trigger</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">// container destroy.</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keywordtype">void</span> reaped(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// Removes the docker container.</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keywordtype">void</span> <span class="keyword">remove</span>(</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00285"></
 a><span class="lineno">  285</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; executor);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <a class="code" href="classpr
 ocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a> logger;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;</a> <a class="code" href="namespacedocker.html">docker</a>;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a> nvidia;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  <span class="keyword">struct </span>Container</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  {</div><div class="line"><a name="l00299"></a><spa
 n class="lineno">  299</span>&#160;    <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Container*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#ae4acf3fad0a189161329d3fefcd5b1f0">create</a>(</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        <span class="keyword">const</span> ContainerID&amp; <span class="keywordtype">id</span>,</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; environment,</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string
 &gt;</a>&amp; pidCheckpointPath,</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keyword">static</span> std::string <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>(<span class="keyword">const</span> ContainerID&amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    {</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;      <span class="keywordflow">return</span> DOCKER_NAME_PREFIX + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<span class="keywor
 dtype">id</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    Container(<span class="keyword">const</span> ContainerID&amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      : state(FETCHING), id(<span class="keywordtype">id</span>) {}</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    Container(</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">const</span> ContainerID&amp; _id,</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keyword">const</span> mesos::slave
 ::ContainerConfig&amp; _containerConfig,</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; _environment,</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _pidCheckpointPath,</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keywordtype">bool</span> symlinked,</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        <span class="keyword">const</span> std::string&amp; containerWorkDir,</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;CommandInfo&gt;</a>&amp; _command,</div><div class="line"><a name="l0032
 2"></a><span class="lineno">  322</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ContainerInfo&gt;</a>&amp; _container,</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keywordtype">bool</span> launchesExecutorContainer)</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;      : state(FETCHING),</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        id(_id),</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        containerConfig(_containerConfig),</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        pidCheckpointPath(_pidCheckpointPath),</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environmen
 t</a>(_environment),</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        symlinked(symlinked),</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        containerWorkDir(containerWorkDir),</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        containerName(<a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>(<span class="keywordtype">id</span>)),</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        launchesExecutorContainer(launchesExecutorContainer)</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    {</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;      <span class="comment">// NOTE: The task&#39;s resources are included in the executor&#39;s</span></div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#1
 60;      <span class="comment">// resources in order to make sure when launching the executor</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      <span class="comment">// that it has non-zero resources in the event the executor was</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;      <span class="comment">// not actually given any resources by the framework</span></div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      <span class="comment">// originally. See Framework::launchExecutor in slave.cpp. We</span></div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;      <span class="comment">// check that this is indeed the case here to protect ourselves</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;      <span class="comment">// from when/if this changes in the future (but it&#39;s not a</span><
 /div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;      <span class="comment">// perfect check because an executor might always have a subset</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      <span class="comment">// of it&#39;s resources that match a task, nevertheless, it&#39;s</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;      <span class="comment">// better than nothing).</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;      resources = containerConfig.resources();</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;      <span class="keywordflow">if</span> (containerConfig.has_task_info()) {</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        CHECK(resources.<a cl
 ass="code" href="classmesos_1_1Resources.html#a30fc4fe000da99818bfcee5bb780e5d4">contains</a>(containerConfig.task_info().resources()));</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;      }</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;      <span class="keywordflow">if</span> (_command.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        command = _command.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;      } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        command = containerConfig.command_info();</
 div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;      }</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <span class="keywordflow">if</span> (_container.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        container = _container.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;      } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="comment">// NOTE: The existence of this field is checked in</span></div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <spa
 n class="comment">// DockerContainerizerProcess::launch.</span></div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        container = containerConfig.container_info();</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;      }</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    }</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    ~Container()</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    {</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      <span class="keywordflow">if</span> (symlinked) {</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        <span class="comment">// The sandbox directory is a symlink, remove it at container</span></div><div class="line"
 ><a name="l00369"></a><span class="lineno">  369</span>&#160;        <span class="comment">// destroy.</span></div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <a class="code" href="namespaceos.html#ac1c8ce3595084d78291f98c2be9f62ba">os::rm</a>(containerWorkDir);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;      }</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    }</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> executorName()</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    {</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;      <span class="keywordflow">if</span> (launchesExecutorContainer) {</div><div cl
 ass="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        <span class="keywordflow">return</span> containerName + DOCKER_NAME_SEPERATOR + <span class="stringliteral">&quot;executor&quot;</span>;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      }</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    }</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    std::string <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>()
 <span class="keyword"> const</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;      <span class="keywordflow">if</span> (containerConfig.has_task_info()) {</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="keywordflow">return</span> containerConfig.task_info().container().docker().image();</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;      }</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;      <span class="keywordflow">return</span> containerConfig.executor_info().container().docker().image();</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    }</div><div class="line"><a name="l00391
 "></a><span class="lineno">  391</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordtype">bool</span> forcePullImage()<span class="keyword"> const</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;      <span class="keywordflow">if</span> (containerConfig.has_task_info()) {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <span class="keywordflow">return</span> containerConfig.task_info()</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          .container().docker().force_pull_image();</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;      }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div><div class="line"><a 
 name="l00399"></a><span class="lineno">  399</span>&#160;      <span class="keywordflow">return</span> containerConfig.executor_info()</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        .container().docker().force_pull_image();</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="comment">// The DockerContainerizer needs to be able to properly clean up</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="comment">// Docker containers, regardless of when they are destroyed. For</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="comment">// example, if a container gets destroyed while we are fetching,</span></div><div cla
 ss="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="comment">// we need to not keep running the fetch, nor should we try and</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="comment">// start the Docker container. For this reason, we&#39;ve split out</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="comment">// the states into:</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="comment">//     FETCHING</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="comment">//     PULLING</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="comment">//     MOUNTING</sp
 an></div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="comment">//     RUNNING</span></div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="comment">//     DESTROYING</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="comment">// In particular, we made &#39;PULLING&#39; be it&#39;s own state so that we</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="comment">// can easily destroy and cleanup when a user initiated pulling</span></div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="comment">// a really big image but we timeout due to the executor</span></div><div class="line"><a name="l00419"></a><span class="lineno
 ">  419</span>&#160;    <span class="comment">// registration timeout. Since we currently have no way to discard</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="comment">// a Docker::run, we needed to explicitly do the pull (which is</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="comment">// the part that takes the longest) so that we can also explicitly</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="comment">// kill it when asked. Once the functions at Docker::* get support</span></div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="comment">// for discarding, then we won&#39;t need to make pull be it&#39;s own</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="comment">// state anymore, although it doesn
 &#39;t hurt since it gives us</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="comment">// better error messages.</span></div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keyword">enum</span> State</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    {</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;      FETCHING = 1,</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;      PULLING = 2,</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;      MOUNTING = 3,</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      RUNNING = 4,</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;      DESTROYING = 5</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    }
  state;</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <span class="comment">// Copies of the parameters sent to `Container::create`.</span></div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keyword">const</span> ContainerID id;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="keyword">const</span> mesos::slave::ContainerConfig containerConfig;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> pidCheckpointPath;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="comment">// A copy of the para
 meter sent to `Container::create`.</span></div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="comment">// NOTE: This may be modified further by hooks.</span></div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    std::map&lt;std::string, std::string&gt; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="comment">// The sandbox directory for the container. This holds the</span></div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="comment">// symlinked path if symlinked boolean is true.</span></div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="comment">// TODO(josephw)
 : The symlink path does not persist across failovers,</span></div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="comment">// so we will not delete the symlink if the agent restarts. This results</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="comment">// in gradually leaking hanging symlinks.</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="keywordtype">bool</span> symlinked;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    std::string containerWorkDir;</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    <span class="comment">// Copies of the fields in `containerConfig`, except when the</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</sp
 an>&#160;    <span class="comment">// container is a command task and the agent is launched with</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <span class="comment">// the --docker_mesos_image flag.</span></div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    ContainerInfo container;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    CommandInfo command;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="comment">// Environment variables that the command executor should pass</span></div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    <span class="comment">// onto a docker-ized task. This is set by a hook.</span></div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <a cla
 ss="code" href="classOption.html">Option&lt;std::map&lt;std::string, std::string&gt;</a>&gt; taskEnvironment;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="comment">// The string used to refer to this container via the Docker CLI.</span></div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <span class="comment">// This name is either computed by concatenating the DOCKER_NAME_PREFIX</span></div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">// and the ContainerID; or during recovery, by taking the recovered</span></div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="comment">// container&#39;s name.</span></div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    std::string container
 Name;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="comment">// Promise for future returned from wait().</span></div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerTermination&gt;</a> termination;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="comment">// Exit status of executor or container (depending on whether or</span></div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="comment">// not we used the command executor). Represented as a promise so</span></div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  
   <span class="comment">// that destroying can chain with it being set.</span></div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;process::Future&lt;Option&lt;int&gt;</a>&gt;&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a28593137a3a912b700beb174abc6d418">status</a>;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="comment">// Future that tells us the return value of last launch stage (fetch, pull,</span></div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="comment">// run, etc).</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::Lau
 nchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a61ba4cf750d8896d2034af8d9128c218">launch</a>;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="comment">// We keep track of the resources for each container so we can set</span></div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <span class="comment">// the ResourceStatistics limits in usage(). Note that this is</span></div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="comment">// different than just what we might get from TaskInfo::resources</span></div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <span class="comment">// or ExecutorInfo::resources because they can change dynamically.</span></div><div class="line"><a name="l00484"
 ></a><span class="lineno">  484</span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="comment">// The docker pull future is stored so we can discard when</span></div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <span class="comment">// destroy is called while docker is pulling the image.</span></div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Image&gt;</a> pull;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="
 lineno">  490</span>&#160;    <span class="comment">// Once the container is running, this saves the pid of the</span></div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="comment">// running container.</span></div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="comment">// The executor pid that was forked to wait on the running</span></div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="comment">// container. This is stored so we can clean up the executor</span></div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="comment">// on destroy.</span></div><div class="
 line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> executorPid;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor">#ifdef __linux__</span></div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="comment">// GPU resources allocated to the container.</span></div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    std::set&lt;Gpu&gt; gpus;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="preprocessor">#endif // __linux__</span></div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    <span class="comment">// Marks if this container l
 aunches an executor in a docker</span></div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="comment">// container.</span></div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    <span class="keywordtype">bool</span> launchesExecutorContainer;</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;  };</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Container*&gt;</a> containers_;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;};</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno">  5
 13</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="preprocessor">#endif // __DOCKER_CONTAINERIZER_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<a href="slave_2containerizer_2docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="
 l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="
 comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_CONTAINERIZER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __DOCKER_CONTAINERIZER_HPP__<
 /span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span cla
 ss="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 
   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="docker_2docker_8hpp.html">docker/docker.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2docker_2executor_8hpp.html">docker/executor.hpp</a>&quot;<

<TRUNCATED>

[38/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1slave_1_1Isolator.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1slave_1_1Isolator.html b/content/api/latest/c++/classmesos_1_1slave_1_1Isolator.html
index 703e1cb..382c7ce 100644
--- a/content/api/latest/c++/classmesos_1_1slave_1_1Isolator.html
+++ b/content/api/latest/c++/classmesos_1_1slave_1_1Isolator.html
@@ -78,8 +78,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a9472d7a623eedfd99168825ffbe3c570"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa9361e520e3aa31f21f668ab2f42f85a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a> ()</td></tr>
 <tr class="separator:aa9361e520e3aa31f21f668ab2f42f85a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d91782894ecd7bd20f5778d9e01c018"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a> (const std::list&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a0d91782894ecd7bd20f5778d9e01c018"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d35276d3fb6a19cd9290bb4c7aa7f7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a> (const std::vector&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a67d35276d3fb6a19cd9290bb4c7aa7f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a35cb3afae3f941fd4450a763eb123d6d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a> (const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a35cb3afae3f941fd4450a763eb123d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7a703b2b2cdc4efdaa0fd4519b7109f9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -216,7 +216,7 @@ Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a0d91782894ecd7bd20f5778d9e01c018"></a>
+<a class="anchor" id="a67d35276d3fb6a19cd9290bb4c7aa7f7"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -226,7 +226,7 @@ Public Member Functions</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::slave::Isolator::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1http_1_1Headers-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1http_1_1Headers-members.html b/content/api/latest/c++/classprocess_1_1http_1_1Headers-members.html
index 267b783..f691bbf 100644
--- a/content/api/latest/c++/classprocess_1_1http_1_1Headers-members.html
+++ b/content/api/latest/c++/classprocess_1_1http_1_1Headers-members.html
@@ -73,7 +73,7 @@
   <tr><td class="entry"><a class="el" href="classprocess_1_1http_1_1Headers.html#afd463b216eeec49fdaa867b57a4a8885">operator+</a>(const Headers &amp;that) const </td><td class="entry"><a class="el" href="classprocess_1_1http_1_1Headers.html">process::http::Headers</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(const std::string &amp;key, std::string &amp;&amp;value)</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(const std::string &amp;key, const std::string &amp;value)</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">values</a>() const</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">values</a>() const</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1http_1_1Headers.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1http_1_1Headers.html b/content/api/latest/c++/classprocess_1_1http_1_1Headers.html
index e2a0ed8..32f9f03 100644
--- a/content/api/latest/c++/classprocess_1_1http_1_1Headers.html
+++ b/content/api/latest/c++/classprocess_1_1http_1_1Headers.html
@@ -107,8 +107,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a41f14039c11b5a1ab6c81add74192c9a inherit pub_methods_classhashmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afcc8b695facd0da04bb0d5b774e0d616 inherit pub_methods_classhashmap"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhashset.html">hashset</a>&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">keys</a> () const</td></tr>
 <tr class="separator:afcc8b695facd0da04bb0d5b774e0d616 inherit pub_methods_classhashmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e6a1fdf47dc2216eb8c0900e0bc969e inherit pub_methods_classhashmap"><td class="memItemLeft" align="right" valign="top">std::list&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">values</a> () const</td></tr>
-<tr class="separator:a3e6a1fdf47dc2216eb8c0900e0bc969e inherit pub_methods_classhashmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21a6e0bdd1e079aec882826188899387 inherit pub_methods_classhashmap"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">values</a> () const</td></tr>
+<tr class="separator:a21a6e0bdd1e079aec882826188899387 inherit pub_methods_classhashmap"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a8ebd5d74c3557ec3ee54daf933c5e51c"></a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess-members.html b/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess-members.html
index 2dbd586..d1e5ca7 100644
--- a/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess-members.html
+++ b/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess-members.html
@@ -58,7 +58,7 @@
 <p>This is the complete list of members for <a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html">process::internal::AwaitProcess&lt; T &gt;</a>, including all inherited members.</p>
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0834b08377ce20a01893a033c46898f6">AuthenticatedHttpRequestHandler</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">AwaitProcess</a>(const std::list&lt; Future&lt; T &gt;&gt; &amp;_futures, Promise&lt; std::list&lt; Future&lt; T &gt;&gt;&gt; *_promise)</td><td class="entry"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html">process::internal::AwaitProcess&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2">AwaitProcess</a>(const std::vector&lt; Future&lt; T &gt;&gt; &amp;_futures, Promise&lt; std::vector&lt; Future&lt; T &gt;&gt;&gt; *_promise)</td><td class="entry"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html">process::internal::AwaitProcess&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#aab442a83e7b73449ad9237af4ad02a80">consume</a>(MessageEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ad9d4ca7d97e0a296121deac831ac1917">consume</a>(DispatchEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37f2b9a57194ffdbe873a318337e0f76">consume</a>(HttpEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess.html b/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess.html
index 681b5f2..c645b9f 100644
--- a/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess.html
+++ b/content/api/latest/c++/classprocess_1_1internal_1_1AwaitProcess.html
@@ -73,8 +73,8 @@ Inheritance diagram for process::internal::AwaitProcess&lt; T &gt;:</div>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr class="memitem:a3c7eb50fa22cee33c4a23485d08866d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">AwaitProcess</a> (const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;_futures, <a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt;&gt; *_promise)</td></tr>
-<tr class="separator:a3c7eb50fa22cee33c4a23485d08866d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e045da1bceed37fa84ede31b1609ea2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2">AwaitProcess</a> (const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;_futures, <a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt;&gt; *_promise)</td></tr>
+<tr class="separator:a0e045da1bceed37fa84ede31b1609ea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae5d9fc849ff751871f9e476491c4ff15"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15">~AwaitProcess</a> ()</td></tr>
 <tr class="separator:ae5d9fc849ff751871f9e476491c4ff15"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8121fadd91f2221a673d4e711f22c948"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948">initialize</a> ()</td></tr>
@@ -184,7 +184,7 @@ Additional Inherited Members</h2></td></tr>
 <tr class="separator:a641dc674baabe6a58e4f4869090bd310 inherit pro_methods_classprocess_1_1ProcessBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a3c7eb50fa22cee33c4a23485d08866d8"></a>
+<a class="anchor" id="a0e045da1bceed37fa84ede31b1609ea2"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -196,13 +196,13 @@ template&lt;typename T &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html">process::internal::AwaitProcess</a>&lt; T &gt;::<a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html">AwaitProcess</a> </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
           <td class="paramname"><em>_futures</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt;&gt; *&#160;</td>
+          <td class="paramtype"><a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt;&gt; *&#160;</td>
           <td class="paramname"><em>_promise</em>&#160;</td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess-members.html b/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess-members.html
index 159904e..1580da6 100644
--- a/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess-members.html
+++ b/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess-members.html
@@ -58,7 +58,7 @@
 <p>This is the complete list of members for <a class="el" href="classprocess_1_1internal_1_1CollectProcess.html">process::internal::CollectProcess&lt; T &gt;</a>, including all inherited members.</p>
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0834b08377ce20a01893a033c46898f6">AuthenticatedHttpRequestHandler</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">CollectProcess</a>(const std::list&lt; Future&lt; T &gt;&gt; &amp;_futures, Promise&lt; std::list&lt; T &gt;&gt; *_promise)</td><td class="entry"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html">process::internal::CollectProcess&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">CollectProcess</a>(const std::vector&lt; Future&lt; T &gt;&gt; &amp;_futures, Promise&lt; std::vector&lt; T &gt;&gt; *_promise)</td><td class="entry"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html">process::internal::CollectProcess&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#aab442a83e7b73449ad9237af4ad02a80">consume</a>(MessageEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ad9d4ca7d97e0a296121deac831ac1917">consume</a>(DispatchEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37f2b9a57194ffdbe873a318337e0f76">consume</a>(HttpEvent &amp;&amp;event) override</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess.html b/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess.html
index fa16130..a9fe9ec 100644
--- a/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess.html
+++ b/content/api/latest/c++/classprocess_1_1internal_1_1CollectProcess.html
@@ -74,8 +74,8 @@ Inheritance diagram for process::internal::CollectProcess&lt; T &gt;:</div>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr class="memitem:aeae1fffc984af46ddb3b0570408c5ee0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">CollectProcess</a> (const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;_futures, <a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::list&lt; T &gt;&gt; *_promise)</td></tr>
-<tr class="separator:aeae1fffc984af46ddb3b0570408c5ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af00208a3334e48650ebbc034902b1dfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">CollectProcess</a> (const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;_futures, <a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::vector&lt; T &gt;&gt; *_promise)</td></tr>
+<tr class="separator:af00208a3334e48650ebbc034902b1dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aef71c5f6f3c016b544805111417573a8"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8">~CollectProcess</a> ()</td></tr>
 <tr class="separator:aef71c5f6f3c016b544805111417573a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classprocess_1_1Process"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classprocess_1_1Process')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classprocess_1_1Process.html">process::Process&lt; CollectProcess&lt; T &gt; &gt;</a></td></tr>
@@ -188,7 +188,7 @@ Additional Inherited Members</h2></td></tr>
 <tr class="separator:a0834b08377ce20a01893a033c46898f6 inherit pro_types_classprocess_1_1ProcessBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="aeae1fffc984af46ddb3b0570408c5ee0"></a>
+<a class="anchor" id="af00208a3334e48650ebbc034902b1dfe"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -200,13 +200,13 @@ template&lt;typename T &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classprocess_1_1internal_1_1CollectProcess.html">process::internal::CollectProcess</a>&lt; T &gt;::<a class="el" href="classprocess_1_1internal_1_1CollectProcess.html">CollectProcess</a> </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
           <td class="paramname"><em>_futures</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::list&lt; T &gt;&gt; *&#160;</td>
+          <td class="paramtype"><a class="el" href="classprocess_1_1Promise.html">Promise</a>&lt; std::vector&lt; T &gt;&gt; *&#160;</td>
           <td class="paramname"><em>_promise</em>&#160;</td>
         </tr>
         <tr>


[23/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/linux__launcher_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/linux__launcher_8hpp_source.html b/content/api/latest/c++/linux__launcher_8hpp_source.html
index dbb439e..8a03e60 100644
--- a/content/api/latest/c++/linux__launcher_8hpp_source.html
+++ b/content/api/latest/c++/linux__launcher_8hpp_source.html
@@ -52,11 +52,10 @@
 <div class="title">linux_launcher.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="linux__launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><
 span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// d
 istributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LINUX_LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __LINUX_LAUNCHER_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" h
 ref="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">class </span>LinuxLauncherProcess;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Launcher for Linux systems with cgroups. Uses a freezer cgroup to</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// track pids.</span></div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">   32</a></span>&#160;<span class="keyword">class </span><a class
 ="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">LinuxLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">Launcher</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Launcher*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a188c7d32972b2998023f77444d125247">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="li
 ne"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="comment">// Returns &#39;true&#39; if prerequisites for using LinuxLauncher are available.</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a9680e53e3800a5e174295e6719e8ca6c">available</a>();</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="comment">// Helper for determining the cgroup for a container (i.e., the path</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="comment">// in a cgroup subsystem).</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">static</span> std:
 :string <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#aa5db2d5f562106fb5ac46bea89b12a9a">cgroup</a>(</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroupsRoot,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f">~LinuxLauncher</a>();</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">virtual</span> <a class="co
 de" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">recover</a>(</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea">fork</a>(</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class="
 lineno">   53</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a n
 ame="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* flags,</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces);</div><div class="line"><a name="l00062"></a><span class="li
 neno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59">status</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId
 );</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">LinuxLauncher</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> std::string&amp; freezerHierarchy,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; systemdHierarchy);</div><div class=
 "line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;LinuxLauncherProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;};</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a n
 ame="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif // __LINUX_LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<a href="linux__launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><
 span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// d
 istributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LINUX_LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __LINUX_LAUNCHER_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" h
 ref="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">class </span>LinuxLauncherProcess;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Launcher for Linux systems with cgroups. Uses a freezer cgroup to</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// track pids.</span></div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">   32</a></span>&#160;<span class="keyword">class </span><a class
 ="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">LinuxLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">Launcher</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Launcher*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a188c7d32972b2998023f77444d125247">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="li
 ne"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="comment">// Returns &#39;true&#39; if prerequisites for using LinuxLauncher are available.</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a9680e53e3800a5e174295e6719e8ca6c">available</a>();</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="comment">// Helper for determining the cgroup for a container (i.e., the path</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="comment">// in a cgroup subsystem).</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">static</span> std:
 :string <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#aa5db2d5f562106fb5ac46bea89b12a9a">cgroup</a>(</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroupsRoot,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f">~LinuxLauncher</a>();</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">virtual</span> <a class="co
 de" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">recover</a>(</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea">fork</a>(</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class
 ="lineno">   53</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a
  name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* flags,</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces);</div><div class="line"><a name="l00062"></a><span class="
 lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59">status</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> ContainerID&amp; container
 Id);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">LinuxLauncher</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> std::string&amp; freezerHierarchy,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; systemdHierarchy);</div><div clas
 s="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;LinuxLauncherProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;};</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a
  name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif // __LINUX_LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></div><div class="ttdef"><b>Definition:</b> launcher.hpp:46</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxLauncher_html_a699c488ac03f1df509d0e09bb021a239"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">mesos::internal::slave::LinuxLauncher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxLauncher_html_acb8f27191f0c9a78b85fe27c5e387a59"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59">mesos::internal::slave::LinuxLauncher::status</a></div><div class="ttdeci">virtual process::Future&lt; ContainerStatus &gt; status(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxLauncher_html_aa5db2d5f562106fb5ac46bea89b12a9a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#aa5db2d5f562106fb5ac46bea89b12a9a">mesos::internal::slave::LinuxLauncher::cgroup</a></div><div class="ttdeci">static std::string cgroup(const std::string &amp;cgroupsRoot, const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Flags_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Flags.html">mesos::internal::slave::Flags</a></div><div class="ttdef"><b>Definition:</b> flags.hpp:39</div></div>
@@ -76,6 +75,7 @@
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxLauncher_html_a65f573e7693965e7030327e5d5cf8b16"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16">mesos::internal::slave::LinuxLauncher::destroy</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; destroy(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a href="classprocess_1_1Owned.html">process::Owned&lt; LinuxLauncherProcess &gt;</a></div></div>
 <div class="ttc" id="namespaceflags_html"><div class="ttname"><a href="namespaceflags.html">flags</a></div><div class="ttdef"><b>Definition:</b> parse.hpp:33</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxLauncher_html_a4a2f84c9e3c2b8e14882baf8522b34e9"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">mesos::internal::slave::LinuxLauncher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)</div></div>
 <div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/master_2validation_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/master_2validation_8hpp_source.html b/content/api/latest/c++/master_2validation_8hpp_source.html
index b79c1a3..9850fc9 100644
--- a/content/api/latest/c++/master_2validation_8hpp_source.html
+++ b/content/api/latest/c++/master_2validation_8hpp_source.html
@@ -90,7 +90,7 @@
 <div class="ttc" id="namespacemesos_1_1internal_1_1master_1_1validation_1_1offer_html_af3530446dfee7971eb4c64fef1470649"><div class="ttname"><a href="namespacemesos_1_1internal_1_1master_1_1validation_1_1offer.html#af3530446dfee7971eb4c64fef1470649">mesos::internal::master::validation::offer::getOffer</a></div><div class="ttdeci">Offer * getOffer(Master *master, const OfferID &amp;offerId)</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1master_1_1validation_1_1resource_1_1internal_html_a2c3aa9fcef7f8d13a1370ae93ff0383a"><div class="ttname"><a href="namespacemesos_1_1internal_1_1master_1_1validation_1_1resource_1_1internal.html#a2c3aa9fcef7f8d13a1370ae93ff0383a">mesos::internal::master::validation::resource::internal::validateSingleResourceProvider</a></div><div class="ttdeci">Option&lt; Error &gt; validateSingleResourceProvider(const google::protobuf::RepeatedPtrField&lt; Resource &gt; &amp;resources)</div></div>
 <div class="ttc" id="namespacecgroups_html_a2ecc89636706df947027a4c3c2100fbe"><div class="ttname"><a href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">cgroups::create</a></div><div class="ttdeci">Try&lt; Nothing &gt; create(const std::string &amp;hierarchy, const std::string &amp;cgroup, bool recursive=false)</div></div>
-<div class="ttc" id="structmesos_1_1internal_1_1master_1_1Framework_html"><div class="ttname"><a href="structmesos_1_1internal_1_1master_1_1Framework.html">mesos::internal::master::Framework</a></div><div class="ttdef"><b>Definition:</b> master.hpp:2214</div></div>
+<div class="ttc" id="structmesos_1_1internal_1_1master_1_1Framework_html"><div class="ttname"><a href="structmesos_1_1internal_1_1master_1_1Framework.html">mesos::internal::master::Framework</a></div><div class="ttdef"><b>Definition:</b> master.hpp:2215</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1master_1_1Master_html"><div class="ttname"><a href="classmesos_1_1internal_1_1master_1_1Master.html">mesos::internal::master::Master</a></div><div class="ttdef"><b>Definition:</b> master.hpp:426</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1master_1_1validation_1_1master_1_1message_html_afd6f535967a78ca5bfe59127ac23a626"><div class="ttname"><a href="namespacemesos_1_1internal_1_1master_1_1validation_1_1master_1_1message.html#afd6f535967a78ca5bfe59127ac23a626">mesos::internal::master::validation::master::message::registerSlave</a></div><div class="ttdeci">Option&lt; Error &gt; registerSlave(const RegisterSlaveMessage &amp;message)</div></div>
 </div><!-- fragment --></div><!-- contents -->

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/mem_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/mem_8hpp.html b/content/api/latest/c++/mem_8hpp.html
index f93602a..c266b71 100644
--- a/content/api/latest/c++/mem_8hpp.html
+++ b/content/api/latest/c++/mem_8hpp.html
@@ -55,7 +55,7 @@
 <div class="title">mem.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
+<div class="textblock"><code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="id_8hpp_source.html">process/id.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="bytes_8hpp_source.html">stout/bytes.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/mem_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/mem_8hpp_source.html b/content/api/latest/c++/mem_8hpp_source.html
index d02c45a..c564925 100644
--- a/content/api/latest/c++/mem_8hpp_source.html
+++ b/content/api/latest/c++/mem_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">mem.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mem_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class="
 lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed u
 nder the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="bytes_8hpp.html">stout/bytes.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><
 span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">stout/windows.hpp</a>&gt;</span></div><div class="line"><a name="
 l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="co
 de" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">   40</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">WindowsMemIsolatorProcess</a> final : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00043"></a><s
 pan class="lineno">   43</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#af4112af9d941286feeffe3b71fb05435">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a3c461451fae95525f7adeaa4bfbd173d">supportsNesting</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="cl
 assmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7">supportsStandalone</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">recover</a>(</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans) <span class="keyword">override</span>;</div><div cl
 ass="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966">prepare</a>(</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig) <span class="keyword">override</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <a class="code" href="classprocess_1_1Fu
 ture.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aad81d0700ab3197bcd3625d6f86d3ddb">isolate</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) <span class="keyword">override</span>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#ae4e3f40213446d0e35a14811f44ecaa4">update</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword
 ">const</span> ContainerID&amp; containerId, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keyword">override</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#abf9bb9d75a80856d8e2582dbaacbe910">usage</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <a class="code" href="classprocess
 _1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a93e9d08b8b24219ef17d4f9830efcca0">cleanup</a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="classOption.html">Optio
 n&lt;Bytes&gt;</a> limit;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  };</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info&gt;</a> infos;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">WindowsMemIsolatorProcess</a>()</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&quot
 ;windows-mem-isolator&quot;</span>))</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  {}</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;};</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif // __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_
 aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
+<a href="mem_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class="
 lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed u
 nder the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="bytes_8hpp.html">stout/bytes.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a
 ><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">stout/windows.hpp</a>&gt;</span></div><div class="line"><a name
 ="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="
 code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">   40</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">WindowsMemIsolatorProcess</a> final : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00043"></a>
 <span class="lineno">   43</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#af4112af9d941286feeffe3b71fb05435">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a3c461451fae95525f7adeaa4bfbd173d">supportsNesting</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="
 classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7">supportsStandalone</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">recover</a>(</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans) <span class="keyword">override</span>;</div><di
 v class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966">prepare</a>(</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig) <span class="keyword">override</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <a class="code" href="classprocess_1
 _1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aad81d0700ab3197bcd3625d6f86d3ddb">isolate</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) <span class="keyword">override</span>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#ae4e3f40213446d0e35a14811f44ecaa4">update</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="key
 word">const</span> ContainerID&amp; containerId, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keyword">override</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#abf9bb9d75a80856d8e2582dbaacbe910">usage</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <a class="code" href="classpro
 cess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a93e9d08b8b24219ef17d4f9830efcca0">cleanup</a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">override</span>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="classOption.html">O
 ption&lt;Bytes&gt;</a> limit;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  };</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info&gt;</a> infos;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">WindowsMemIsolatorProcess</a>()</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&
 quot;windows-mem-isolator&quot;</span>))</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  {}</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;};</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif // __WINDOWS_MEM_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_h
 tml_aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; pid_t &gt;</a></div></div>
 <div class="ttc" id="classprocess_1_1ProcessBase_html_a318038bacd95e4260864533f7cfe12fd"><div class="ttname"><a href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">process::ProcessBase::ProcessBase</a></div><div class="ttdeci">ProcessBase(const std::string &amp;id=&quot;&quot;)</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
@@ -73,12 +73,12 @@
 <div class="ttc" id="nothing_8hpp_html"><div class="ttname"><a href="nothing_8hpp.html">nothing.hpp</a></div></div>
 <div class="ttc" id="bytes_8hpp_html"><div class="ttname"><a href="bytes_8hpp.html">bytes.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess_html_acb70379485a6be8c6e58c337ca3dc1f7"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7">mesos::internal::slave::WindowsMemIsolatorProcess::supportsStandalone</a></div><div class="ttdeci">bool supportsStandalone() override</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess_html_aadb76fe69fa14167319d37b382886c41"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">mesos::internal::slave::WindowsMemIsolatorProcess::recover</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">mesos::internal::slave::WindowsMemIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> mem.hpp:40</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess_html_a24c49ba3038764a7a2acef630526b9c5"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">mesos::internal::slave::WindowsMemIsolatorProcess::recover</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</div></div>
 <div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>
 <div class="ttc" id="hashset_8hpp_html"><div class="ttname"><a href="hashset_8hpp.html">hashset.hpp</a></div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/memory_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/memory_8hpp.html b/content/api/latest/c++/memory_8hpp.html
index 2582108..00ac3b1 100644
--- a/content/api/latest/c++/memory_8hpp.html
+++ b/content/api/latest/c++/memory_8hpp.html
@@ -55,8 +55,8 @@
 <div class="title">memory.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;string&gt;</code><br />
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="owned_8hpp_source.html">process/owned.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="hashmap_8hpp_source.html">stout/hashmap.hpp</a>&gt;</code><br />


[26/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/index.hhk
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/index.hhk b/content/api/latest/c++/index.hhk
index 1b84e94..9050c04 100644
--- a/content/api/latest/c++/index.hhk
+++ b/content/api/latest/c++/index.hhk
@@ -214,7 +214,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="3rdparty_2stout_2include_2stout_2windows_2net_8hpp.html#a804670c0d91cb5433d021ede36dfc341"><param name="Name" value="setHostname"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1master_1_1Master.html#a5c9f4952b05b9d4059ad931e06634a1d"><param name="Name" value="___reregisterSlave"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc"><param name="Name" value="___run"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b"><param name="Name" value="___run"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf"><param name="Name" value="___statusUpdate"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#a30ed435287a442a0b6300f0d32422142"><param name="Name" value="__allocate"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="3rdparty_2libprocess_2include_2process_2executor_8hpp.html#a4c307fc4c2f22e9a9a1a01fe059e1979"><param name="Name" value="__executor__"></OBJECT>
@@ -307,7 +307,7 @@
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b"><param name="Name" value="_launch"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1master_1_1Master.html#aaca5f05d22394e3241536b3def2a14aa"><param name="Name" value="_markUnreachable"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#a967e320b1d5dd56a1dec05dc3aaa58a2"><param name="Name" value="_offer_filters_active"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12"><param name="Name" value="_ps"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5"><param name="Name" value="_ps"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3"><param name="Name" value="_pull"></OBJECT>
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3"><param name="Name" value="mesos::internal::tests::MockDocker"></OBJECT>
@@ -1136,16 +1136,16 @@
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1FetcherProcess.html#a94fb0cab716a430c9a9e85c6f2ccaf70"><param name="Name" value="availableCacheSpace"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1FetcherProcess_1_1Cache.html#aad24cf6d30a1f1deec48c39b1adb01cc"><param name="Name" value="availableSpace"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="await"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="await"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="collect.hpp"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="collect.hpp"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc"><param name="Name" value="libprocess/include/process/gtest.hpp"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="libprocess_2include_2process_2gtest_8hpp.html#ae87163d195db1ec27c22a6eff7855944"><param name="Name" value="Await"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="libprocess_2include_2process_2gtest_8hpp.html#a9d083eaa5502e467abd6ea70bb598a6b"><param name="Name" value="AWAIT"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="await"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="await"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="process"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="process"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1Future.html#a49b738b9755c0623a57e575ae2fb6431"><param name="Name" value="process::Future"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc"><param name="Name" value="process::internal"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1Latch.html#a473b02733aa6a87f9ce3462d7a872414"><param name="Name" value="process::Latch"></OBJECT>
@@ -1248,7 +1248,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess_1_1internal.html#a85f4746550d4ec759218057e3c54fe41"><param name="Name" value="process::internal"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#a216cd0214176130534f57a61eced3882"><param name="Name" value="awaitEvent"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8"><param name="Name" value="AwaitProcess"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2"><param name="Name" value="AwaitProcess"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#ac5a9f0ce8ba90b0408483a90f7fe7ef3"><param name="Name" value="awaitSessionEvent"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="structprocess_1_1http_1_1Server_1_1CreateOptions.html#a5a8f51c254c40e780727a0a382349e7e"><param name="Name" value="backlog"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="namespacerouting_1_1queueing_1_1statistics.html#afe8c444f1d99c4ed31c37e7dee3fecfa"><param name="Name" value="BACKLOG"></OBJECT>
@@ -2161,15 +2161,15 @@
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="collect_8hpp.html"><param name="Name" value="collect.hpp"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="collect_8hpp.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="await"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="collect_8hpp.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="Name" value="collect"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="collect_8hpp.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="await"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="collect_8hpp.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="Name" value="collect"></OBJECT>
   </UL>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="Name" value="collect"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="Name" value="collect"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="Name" value="collect.hpp"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="Name" value="process"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="Name" value="collect.hpp"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="Name" value="process"></OBJECT>
   </UL>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0"><param name="Name" value="CollectProcess"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe"><param name="Name" value="CollectProcess"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1http_1_1authentication_1_1CombinedAuthenticator.html#a8f8d9fe93964ae8b5b0bf52de4bfdaad"><param name="Name" value="CombinedAuthenticator"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="structproc_1_1ProcessStatus.html#aa33c57506955b0c77587a6152840fb3a"><param name="Name" value="comm"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="structmesos_1_1internal_1_1checks_1_1check_1_1Command.html#a1785ae925f588997fcad9c836b2bf86d"><param name="Name" value="Command"></OBJECT>
@@ -4126,7 +4126,7 @@
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html"><param name="Name" value="Docker"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#ae3d964240a23f43633d7f8c740ce246b"><param name="Name" value="ps"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0"><param name="Name" value="ps"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d"><param name="Name" value="pull"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#afd1dd8dc67fd3d111164ff80f90761f4"><param name="Name" value="rm"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#a4c921c0018b3ca12ad726617d2938710"><param name="Name" value="run"></OBJECT>
@@ -6840,7 +6840,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84"><param name="Name" value="hashmap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="Name" value="keys"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124"><param name="Name" value="put"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e"><param name="Name" value="values"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a21a6e0bdd1e079aec882826188899387"><param name="Name" value="values"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html"><param name="Name" value="hashmap"></OBJECT>
   <UL>
@@ -6851,7 +6851,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84"><param name="Name" value="hashmap< std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual >"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="Name" value="keys"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124"><param name="Name" value="put"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e"><param name="Name" value="values"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#a21a6e0bdd1e079aec882826188899387"><param name="Name" value="values"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashset.html"><param name="Name" value="hashset"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="hashset_8hpp.html"><param name="Name" value="hashset.hpp"></OBJECT>
@@ -8272,7 +8272,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classBoundedHashMap.html#ab68b4c5ea8887bff0b68853223b130f3"><param name="Name" value="BoundedHashMap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="Name" value="hashmap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="Name" value="hashmap< std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual >"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348"><param name="Name" value="LinkedHashMap"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a"><param name="Name" value="LinkedHashMap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmultihashmap.html#a98b8017b73298f95b3cd1666df8ee432"><param name="Name" value="multihashmap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classMultimap.html#a01131a8d046ea054e12c5680ac36eb5d"><param name="Name" value="Multimap"></OBJECT>
   </UL>
@@ -8810,14 +8810,14 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#ae6cfccfbd837f8f746d1e1efeeeb5455"><param name="Name" value="entry"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049"><param name="Name" value="erase"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded"><param name="Name" value="get"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348"><param name="Name" value="keys"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a"><param name="Name" value="keys"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d"><param name="Name" value="LinkedHashMap"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6"><param name="Name" value="list"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2"><param name="Name" value="map"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4"><param name="Name" value="operator="></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760"><param name="Name" value="operator[]"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a"><param name="Name" value="size"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30"><param name="Name" value="values"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9"><param name="Name" value="values"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="namespacenet.html#a308dd33768b3b5ce01dc7a5e4fa1f2d1"><param name="Name" value="links"></OBJECT>
   <UL>
@@ -11447,7 +11447,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a317ae56d23f2c553a8a0c33d3f5b2a47"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a611253a8523cd7f23cd58f059556f7dd"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#abc18c8ede13ce1178d3cc54555082aca"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46"><param name="Name" value="supportsStandalone"></OBJECT>
@@ -11749,7 +11749,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#adc7f9a2d598d75a7519dabe9617d428a"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a4b409988991161f69586ab7bfcf21729"><param name="Name" value="~DockerVolumeIsolatorProcess"></OBJECT>
@@ -11797,7 +11797,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d"><param name="Name" value="launchedTasks"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151"><param name="Name" value="pendingTermination"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8"><param name="Name" value="pid"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3"><param name="Name" value="queuedTaskGroups"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed"><param name="Name" value="queuedTaskGroups"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b"><param name="Name" value="queuedTasks"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a89977a8c4cec7c54a41f20e763532b3c"><param name="Name" value="recoverTask"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"><param name="Name" value="REGISTERING"></OBJECT>
@@ -11988,7 +11988,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ac08555852cd25a946886181831cb423e"><param name="Name" value="idle"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2"><param name="Name" value="info"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab67788cb552b7320783b7ecd7b80f82a"><param name="Name" value="isPending"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988"><param name="Name" value="pendingTaskGroups"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82"><param name="Name" value="pendingTaskGroups"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da"><param name="Name" value="pendingTasks"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461"><param name="Name" value="pid"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a440112e6053e7d36a46c18580a1b5133"><param name="Name" value="recoverExecutor"></OBJECT>
@@ -12069,7 +12069,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a99a26ff439ca948c0bf5f822d55f1628"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a12117c45cfd218537f0c5f562542c4f1"><param name="Name" value="extractContainerIO"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a57df4d6ba6123bf8af2f4fb15850f2ed"><param name="Name" value="requiresServer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375"><param name="Name" value="supportsStandalone"></OBJECT>
@@ -12102,7 +12102,7 @@
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175"><param name="Name" value="destroy"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45"><param name="Name" value="fork"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d"><param name="Name" value="~Launcher"></OBJECT>
   </UL>
@@ -12125,7 +12125,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a49b32626755808558a8fc8fa5211d7e5"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ac4b659a1f0c7435908013ccd93b6501a"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a83106b699cb07d30c599824a6714c1a3"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a606b959d7291303c94149ed7924e79c6"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a6f9f2b8cd0c49afa1acfa7ea7b08406f"><param name="Name" value="update"></OBJECT>
@@ -12138,7 +12138,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a188c7d32972b2998023f77444d125247"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16"><param name="Name" value="destroy"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea"><param name="Name" value="fork"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f"><param name="Name" value="~LinuxLauncher"></OBJECT>
   </UL>
@@ -12236,7 +12236,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a32a943445e8ff4eb60c269f35e92d19c"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a36b26d1276a22b8148fa281e73bc5de7"><param name="Name" value="MesosIsolator"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646"><param name="Name" value="supportsStandalone"></OBJECT>
@@ -12250,7 +12250,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c"><param name="Name" value="supportsStandalone"></OBJECT>
@@ -12352,7 +12352,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a12a31bdd9d873ebe68c492c1eea562de"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a4d2771d57033cea741ec6dd2bc6f738d"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#aac3a4e9bacac1572ee598bf6d3a75ce4"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#ae38922e85a5082b87910c53ed3614e09"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5cb876e852d66514a64562bf46cc92c4"><param name="Name" value="~NetworkCniIsolatorProcess"></OBJECT>
@@ -12422,7 +12422,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a7aabef75bd2d69564307ca104f99b99d"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ad39ce3c25fef0c30eb43119184529a3b"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ab70ccb2d7dc7dd3377ad40f050595c61"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#aa0282cfa20e55f56feb46f7ee16b0915"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a0d99ad554385f6e1df62d211f4df20fd"><param name="Name" value="update"></OBJECT>
@@ -12588,7 +12588,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#ab126a3f89bafa17817315e2b064aa6d1"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a9ffeb4eeca1ecf4f3d48eb48b058c4c9"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a4a3dd38df94ce3058e3e7e46eed3a2bd"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#ac31d75dea5f56a8757d04e63989edc03"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a8fadf73d9721461120a1534ce0ebad2c"><param name="Name" value="update"></OBJECT>
@@ -12611,7 +12611,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa"><param name="Name" value="infos"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab18447801d2a94466315cf13b5380424"><param name="Name" value="PosixFilesystemIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad"><param name="Name" value="update"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974"><param name="Name" value="~PosixFilesystemIsolatorProcess"></OBJECT>
   </UL>
@@ -12622,7 +12622,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52"><param name="Name" value="pids"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce"><param name="Name" value="prepare"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db"><param name="Name" value="promises"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f783154e94c19084c2f"><param name="Name" value="update"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321"><param name="Name" value="watch"></OBJECT>
   </UL>
@@ -12707,7 +12707,7 @@
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html"><param name="Name" value="mesos::internal::slave::Slave"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc"><param name="Name" value="___run"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b"><param name="Name" value="___run"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf"><param name="Name" value="___statusUpdate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#adf6475e9de96ccbbe503980ae80c2978"><param name="Name" value="__recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f"><param name="Name" value="__run"></OBJECT>
@@ -12887,7 +12887,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a78d11f1b1c5e22754797c76e9d42281a"><param name="Name" value="destroy"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#aa82db677460d67c6ff2fd207d0683c82"><param name="Name" value="fork"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5"><param name="Name" value="pids"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1e1c9e6483fecc771fc6892bb602b580"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1"><param name="Name" value="SubprocessLauncher"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976"><param name="Name" value="~SubprocessLauncher"></OBJECT>
@@ -12985,7 +12985,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ab8b6f8ec81cbc125c6a17fb48980aa8e"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a858b6ce8b137c8f2b14f27ea0bd28f08"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a070e403ff6494657c5a185e87d0abd81"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a5e1c949df5cdcd6f23879eee590cdfc1"><param name="Name" value="~VolumeSandboxPathIsolatorProcess"></OBJECT>
@@ -13003,7 +13003,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a79b38dece567246f6e44a9730561bdd2"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af4b1ea81568c04ee32d5598aa4a61855"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a44fa211c9849d244747b1364a371cb7a"><param name="Name" value="update"></OBJECT>
@@ -13019,7 +13019,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#af4112af9d941286feeffe3b71fb05435"><param name="Name" value="create"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aad81d0700ab3197bcd3625d6f86d3ddb"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a3c461451fae95525f7adeaa4bfbd173d"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7"><param name="Name" value="supportsStandalone"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#ae4e3f40213446d0e35a14811f44ecaa4"><param name="Name" value="update"></OBJECT>
@@ -13466,11 +13466,11 @@
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html"><param name="Name" value="mesos::internal::tests::MockDocker"></OBJECT>
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93"><param name="Name" value="_inspect"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12"><param name="Name" value="_ps"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5"><param name="Name" value="_ps"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3"><param name="Name" value="_pull"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526"><param name="Name" value="_run"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49"><param name="Name" value="_stop"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7"><param name="Name" value="MOCK_CONST_METHOD2"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82"><param name="Name" value="MOCK_CONST_METHOD2"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d"><param name="Name" value="MOCK_CONST_METHOD3"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b"><param name="Name" value="MockDocker"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a685c68f87dc5987215611c11b1b8d8da"><param name="Name" value="~MockDocker"></OBJECT>
@@ -13520,7 +13520,7 @@
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html"><param name="Name" value="mesos::internal::tests::MockIsolator"></OBJECT>
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707"><param name="Name" value="MOCK_METHOD1"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec"><param name="Name" value="MOCK_METHOD2"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359"><param name="Name" value="MOCK_METHOD2"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe"><param name="Name" value="MockIsolator"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockQoSController.html"><param name="Name" value="mesos::internal::tests::MockQoSController"></OBJECT>
@@ -13570,10 +13570,10 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ad98b29ee42bb4ad9915301323b5621e2"><param name="Name" value="MOCK_METHOD1"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#acdfe37cfb77e9dabb4e5ad2f3ee19299"><param name="Name" value="MOCK_METHOD2"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4513fd374739794eb5c09252c2ff6068"><param name="Name" value="MOCK_METHOD3"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d"><param name="Name" value="MOCK_METHOD6"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8"><param name="Name" value="MOCK_METHOD6"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4245585158835727a3f21ba9f4a859c1"><param name="Name" value="MOCK_METHOD7"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a43b07c559623044539007bc157c1bdcb"><param name="Name" value="MockSlave"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24"><param name="Name" value="unmocked____run"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6"><param name="Name" value="unmocked____run"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae3044d22a2b9dceb14da7da0a7fe6279"><param name="Name" value="unmocked___recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a499a2223da3e74ef46fdc8f746615aa9"><param name="Name" value="unmocked___run"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#abb419bee97e2e2f03c6b0d2632e607d9"><param name="Name" value="unmocked__run"></OBJECT>
@@ -13673,7 +13673,7 @@
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html"><param name="Name" value="mesos::internal::tests::TestLauncher"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83"><param name="Name" value="MOCK_METHOD1"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab"><param name="Name" value="MOCK_METHOD1"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c"><param name="Name" value="MOCK_METHOD10"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286"><param name="Name" value="real"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722"><param name="Name" value="TestLauncher"></OBJECT>
@@ -14521,7 +14521,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4"><param name="Name" value="cleanup"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9"><param name="Name" value="isolate"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d"><param name="Name" value="prepare"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018"><param name="Name" value="recover"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7"><param name="Name" value="recover"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694"><param name="Name" value="status"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570"><param name="Name" value="supportsNesting"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a"><param name="Name" value="supportsStandalone"></OBJECT>
@@ -15426,7 +15426,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1TestsFilter.html#a0655ea251c4adfe978c7dbf072c117ab"><param name="Name" value="process::TestsFilter"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockRateLimiter.html#a7ef39625ebff87e4a80f7cff9a6ee13c"><param name="Name" value="MOCK_CONST_METHOD0"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7"><param name="Name" value="MOCK_CONST_METHOD2"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82"><param name="Name" value="MOCK_CONST_METHOD2"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d"><param name="Name" value="MOCK_CONST_METHOD3"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="mock__csi__plugin_8hpp.html"><param name="Name" value="mock_csi_plugin.hpp"></OBJECT>
   <UL>
@@ -15460,7 +15460,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ad98b29ee42bb4ad9915301323b5621e2"><param name="Name" value="mesos::internal::tests::MockSlave"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#abce17b3fa055970b657667e5f2c5f7f9"><param name="Name" value="mesos::internal::tests::TestAllocator"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestContainerizer.html#a46f5aaa90b1455755644b2a2195aa3d5"><param name="Name" value="mesos::internal::tests::TestContainerizer"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83"><param name="Name" value="mesos::internal::tests::TestLauncher"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab"><param name="Name" value="mesos::internal::tests::TestLauncher"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestStore.html#a7ceb58dfb88a61deed514d1612796df5"><param name="Name" value="mesos::internal::tests::TestStore"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1MockFilter.html#a0040d754098f1ba0ca3f5a416cfba415"><param name="Name" value="process::MockFilter"></OBJECT>
   </UL>
@@ -15476,7 +15476,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockContainerizer.html#a07c06769bc9639918d4424fb8284ce2e"><param name="Name" value="mesos::internal::tests::MockContainerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#afa5ce77a86dbbd0b7bbc9abdb14c02f3"><param name="Name" value="mesos::internal::tests::MockDockerContainerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockExecutor.html#acb472049fabcaa36f7f841b60ab876a1"><param name="Name" value="mesos::internal::tests::MockExecutor"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec"><param name="Name" value="mesos::internal::tests::MockIsolator"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359"><param name="Name" value="mesos::internal::tests::MockIsolator"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockScheduler.html#ac1f550411decef8c854a1cccfe7be2f8"><param name="Name" value="mesos::internal::tests::MockScheduler"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#acdfe37cfb77e9dabb4e5ad2f3ee19299"><param name="Name" value="mesos::internal::tests::MockSlave"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#a07f9dd9add2cf8918604d140a6731a7f"><param name="Name" value="mesos::internal::tests::TestAllocator"></OBJECT>
@@ -15508,9 +15508,9 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockFetcherProcess.html#ae78ee85c0ad540adad18e63dd3181e4c"><param name="Name" value="mesos::internal::tests::MockFetcherProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#aa2565c164096b7dc96a567af2cbe3a37"><param name="Name" value="mesos::internal::tests::TestAllocator"></OBJECT>
   </UL>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d"><param name="Name" value="MOCK_METHOD6"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8"><param name="Name" value="MOCK_METHOD6"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d"><param name="Name" value="mesos::internal::tests::MockSlave"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8"><param name="Name" value="mesos::internal::tests::MockSlave"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#acf79479daa3f4a26ee3bab26fc61618a"><param name="Name" value="mesos::internal::tests::TestAllocator"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4245585158835727a3f21ba9f4a859c1"><param name="Name" value="MOCK_METHOD7"></OBJECT>
@@ -17689,7 +17689,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceos_1_1signals.html#a712c95e437c6ae6caa6fbc6dcce30f26"><param name="Name" value="os::signals"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceos_1_1signals.html#a712c95e437c6ae6caa6fbc6dcce30f26"><param name="Name" value="posix/signals.hpp"></OBJECT>
   </UL>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988"><param name="Name" value="pendingTaskGroups"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82"><param name="Name" value="pendingTaskGroups"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="structmesos_1_1internal_1_1master_1_1Framework.html#a146261f2447bec7776ebd06a80178d09"><param name="Name" value="pendingTasks"></OBJECT>
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="structmesos_1_1internal_1_1master_1_1Framework.html#a146261f2447bec7776ebd06a80178d09"><param name="Name" value="mesos::internal::master::Framework"></OBJECT>
@@ -18898,13 +18898,13 @@
   <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess_1_1internal.html"><param name="Name" value="process::internal"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html"><param name="Name" value="process::internal::AwaitProcess"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8"><param name="Name" value="AwaitProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2"><param name="Name" value="AwaitProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948"><param name="Name" value="initialize"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15"><param name="Name" value="~AwaitProcess"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html"><param name="Name" value="process::internal::CollectProcess"></OBJECT>
   <UL>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0"><param name="Name" value="CollectProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe"><param name="Name" value="CollectProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31"><param name="Name" value="initialize"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8"><param name="Name" value="~CollectProcess"></OBJECT>
   </UL>
@@ -19935,10 +19935,10 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#abde24dee21e5f3c5110d36020c9f8d89"><param name="Name" value="async_watcher"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#af11700c40575d7826e6e820896ab7023"><param name="Name" value="AUTHENTICATION"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a7212d55e280e9111f2419ab09ed4be5b"><param name="Name" value="AUTHORIZATION"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c"><param name="Name" value="await"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838"><param name="Name" value="await"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a373bd5e2bd8f2694e4589293af477854"><param name="Name" value="base"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a4beae62da50c26c6cb8afd14e385d0c8"><param name="Name" value="Break"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="Name" value="collect"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="Name" value="collect"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c"><param name="Name" value="defer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023"><param name="Name" value="delay"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceprocess.html#ac77710abb3ca0716be1856035c78cb89"><param name="Name" value="DESCRIPTION"></OBJECT>
@@ -20286,7 +20286,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Provisioner.html#a53a32c4497e8fdc959841b70884798d7"><param name="Name" value="mesos::internal::slave::Provisioner"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#a4f87d68020292e2a547d113fbd06c385"><param name="Name" value="mesos::internal::slave::ProvisionerProcess"></OBJECT>
   </UL>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#ae3d964240a23f43633d7f8c740ce246b"><param name="Name" value="ps"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0"><param name="Name" value="ps"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="pstree_8hpp.html"><param name="Name" value="pstree.hpp"></OBJECT>
   <UL>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="pstree_8hpp.html#aa98ca8ac255e2b9c689979a1b40084d3"><param name="Name" value="processes"></OBJECT>
@@ -20367,7 +20367,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceinternal_1_1windows.html#a39ca8fa0643b489f6bef951bef207c92"><param name="Name" value="symlink.hpp"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1Queue.html#a674a915e518d5bb71bcca95fb593be6c"><param name="Name" value="Queue"></OBJECT>
-  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3"><param name="Name" value="queuedTaskGroups"></OBJECT>
+  <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed"><param name="Name" value="queuedTaskGroups"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b"><param name="Name" value="queuedTasks"></OBJECT>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="queueing_2internal_8hpp.html"><param name="Name" value="queueing/internal.hpp"></OBJECT>
   <UL>
@@ -20629,7 +20629,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1OperationStatusUpdateManager.html#a872c6bc11f75b121b732394a9e874409"><param name="Name" value="mesos::internal::OperationStatusUpdateManager"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1appc_1_1Cache.html#a25eba68d6d270ed5793a9631609c833d"><param name="Name" value="mesos::internal::slave::appc::Cache"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1appc_1_1Store.html#a11eee2bc52c5ad8ba3bebe1bb06518cc"><param name="Name" value="mesos::internal::slave::appc::Store"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e"><param name="Name" value="mesos::internal::slave::CgroupsIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58"><param name="Name" value="mesos::internal::slave::CgroupsIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1ComposingContainerizer.html#a4385c48bb00bf0b9b6f5da2aa1215299"><param name="Name" value="mesos::internal::slave::ComposingContainerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Containerizer.html#afb384accdd6d431e1882cd861de3212d"><param name="Name" value="mesos::internal::slave::Containerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DevicesSubsystemProcess.html#a9666b59888902409cb3b7637e1265c8f"><param name="Name" value="mesos::internal::slave::DevicesSubsystemProcess"></OBJECT>
@@ -20637,26 +20637,26 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1docker_1_1Store.html#a78720df311df3e53298548fe5ca92bd4"><param name="Name" value="mesos::internal::slave::docker::Store"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a746949ba7f35257f364278a0067a2e8b"><param name="Name" value="mesos::internal::slave::DockerContainerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#adc19c004083425e8a167b82ce58c07c8"><param name="Name" value="mesos::internal::slave::DockerContainerizerProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934"><param name="Name" value="mesos::internal::slave::DockerVolumeIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb"><param name="Name" value="mesos::internal::slave::DockerVolumeIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Flags.html#a336f57be144857f8acf7008281c5ddb5"><param name="Name" value="mesos::internal::slave::Flags"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18"><param name="Name" value="mesos::internal::slave::IOSwitchboard"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e"><param name="Name" value="mesos::internal::slave::Launcher"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><param name="Name" value="mesos::internal::slave::LinuxFilesystemIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239"><param name="Name" value="mesos::internal::slave::LinuxLauncher"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a"><param name="Name" value="mesos::internal::slave::IOSwitchboard"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4"><param name="Name" value="mesos::internal::slave::Launcher"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980"><param name="Name" value="mesos::internal::slave::LinuxFilesystemIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9"><param name="Name" value="mesos::internal::slave::LinuxLauncher"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a"><param name="Name" value="mesos::internal::slave::MemorySubsystemProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429"><param name="Name" value="mesos::internal::slave::MesosContainerizer"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a48372e34e21c4a5fe32cd117f32a8a0f"><param name="Name" value="mesos::internal::slave::MesosContainerizerProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e"><param name="Name" value="mesos::internal::slave::MesosIsolator"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7"><param name="Name" value="mesos::internal::slave::MesosIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113"><param name="Name" value="mesos::internal::slave::MesosIsolator"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f"><param name="Name" value="mesos::internal::slave::MesosIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetClsSubsystemProcess.html#a2e73e78026e6b889d960ed8df4326e7e"><param name="Name" value="mesos::internal::slave::NetClsSubsystemProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd"><param name="Name" value="mesos::internal::slave::NetworkCniIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e"><param name="Name" value="mesos::internal::slave::NetworkCniIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#aa94976e4d3569e51ffdda49d942432d7"><param name="Name" value="mesos::internal::slave::NetworkPortsIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117"><param name="Name" value="mesos::internal::slave::NvidiaGpuIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377"><param name="Name" value="mesos::internal::slave::NvidiaGpuIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PerfEventSubsystemProcess.html#a1e65dc17b49000ecb35bf83de8474e68"><param name="Name" value="mesos::internal::slave::PerfEventSubsystemProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a47eb4c076201fa2aafa5b5698b15e3fa"><param name="Name" value="mesos::internal::slave::PortMappingIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1"><param name="Name" value="mesos::internal::slave::PosixDiskIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454"><param name="Name" value="mesos::internal::slave::PosixFilesystemIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37"><param name="Name" value="mesos::internal::slave::PosixIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24"><param name="Name" value="mesos::internal::slave::PosixDiskIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b"><param name="Name" value="mesos::internal::slave::PosixFilesystemIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1"><param name="Name" value="mesos::internal::slave::PosixIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Provisioner.html#aa601942f24b550dfbc8ab63d3113d24c"><param name="Name" value="mesos::internal::slave::Provisioner"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#ac2532fa2d0d8cad571b345748701ab51"><param name="Name" value="mesos::internal::slave::ProvisionerProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#aa66f55ccd42a6aac647a50d78a3fb29c"><param name="Name" value="mesos::internal::slave::Slave"></OBJECT>
@@ -20668,19 +20668,19 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="structmesos_1_1internal_1_1slave_1_1state_1_1SlaveState.html#aee41bf2e28323a2a475cdbaba977d4e3"><param name="Name" value="mesos::internal::slave::state::SlaveState"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="structmesos_1_1internal_1_1slave_1_1state_1_1TaskState.html#a2e49a328dccecaaef44bb547c79b1e0d"><param name="Name" value="mesos::internal::slave::state::TaskState"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Store.html#a3941ada48ffb0de68285fee5c0104d42"><param name="Name" value="mesos::internal::slave::Store"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59"><param name="Name" value="mesos::internal::slave::SubprocessLauncher"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804"><param name="Name" value="mesos::internal::slave::SubprocessLauncher"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Subsystem.html#a19549cadefab1e9160850e7313f118bf"><param name="Name" value="mesos::internal::slave::Subsystem"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html#a408b22e397dda507a2a0f778a6327a1d"><param name="Name" value="mesos::internal::slave::SubsystemProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html#a7c7ce88b8ff5596dc40ff9440071372c"><param name="Name" value="mesos::internal::slave::TaskStatusUpdateManager"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a"><param name="Name" value="mesos::internal::slave::VolumeSandboxPathIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c"><param name="Name" value="mesos::internal::slave::WindowsCpuIsolatorProcess"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5"><param name="Name" value="mesos::internal::slave::WindowsMemIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9"><param name="Name" value="mesos::internal::slave::VolumeSandboxPathIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1"><param name="Name" value="mesos::internal::slave::WindowsCpuIsolatorProcess"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41"><param name="Name" value="mesos::internal::slave::WindowsMemIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a369e81c7f2b5ac6314467f963320dde3"><param name="Name" value="mesos::internal::slave::XfsDiskIsolatorProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1internal_1_1StatusUpdateManagerProcess.html#ab8a393d0453cc8174d71dad6f1e45d6f"><param name="Name" value="mesos::internal::StatusUpdateManagerProcess"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1resource__provider_1_1GenericRegistrar.html#ae302b4f022981d9a01b899c9499aa0d3"><param name="Name" value="mesos::resource_provider::GenericRegistrar"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1resource__provider_1_1MasterRegistrar.html#a31bceb895f04661c08b81344bea0aab2"><param name="Name" value="mesos::resource_provider::MasterRegistrar"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1resource__provider_1_1Registrar.html#a07ac739cc9d2e5950d1913a652a6a992"><param name="Name" value="mesos::resource_provider::Registrar"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018"><param name="Name" value="mesos::slave::Isolator"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7"><param name="Name" value="mesos::slave::Isolator"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1Future.html#ac02b40b5e590692acf71ea6add116e7b"><param name="Name" value="process::Future"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespacemesos_1_1internal_1_1log.html#a5043b169fcc99e7f6d9d251bb3740fb6"><param name="Name" value="recover.hpp"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Local" value="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28"><param name="Name" value="replica.hpp"></OBJECT>
@@ -24899,7 +24899,7 @@
     <LI><OBJECT type="text/sitemap"><param name="Local" value="classmesos_1_1modules_1_1ModuleManager.html#ad2d7eb58b991c00d8389287814e06fe4"><param name="Name" value="mesos::modules::ModuleManager"></OBJECT>
   </UL>
   <LI><OBJECT type="text/sitemap"><param name="Local" value="classprocess_1_1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b"><param name="Name" value="unlock"></OBJECT>
-  <LI><OBJECT type="

<TRUNCATED>

[16/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/sandbox__path_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/sandbox__path_8hpp_source.html b/content/api/latest/c++/sandbox__path_8hpp_source.html
index 20d687f..c2137a0 100644
--- a/content/api/latest/c++/sandbox__path_8hpp_source.html
+++ b/content/api/latest/c++/sandbox__path_8hpp_source.html
@@ -52,7 +52,8 @@
 <div class="title">sandbox_path.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="sandbox__path_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><sp
 an class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dis
 tributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__
 </span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocess
 or">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">   32</a></span>&#160;<span
  class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">VolumeSandboxPathIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ab8b6f8ec81cbc125c6a17fb48980aa8e">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="nam
 espaceflags.html">flags</a>);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a5e1c949df5cdcd6f23879eee590cdfc1">~VolumeSandboxPathIsolatorProcess</a>();</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a858b6ce8b137c8f2b14f27ea0bd28f08">supportsNesting</a>();</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_
 1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a070e403ff6494657c5a185e87d0abd81">supportsStandalone</a>();</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">recover</a>(</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00045"></a><
 span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">prepare</a>(</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classpro
 cess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3">cleanup</a>(</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">VolumeSandboxPathIsolatorProcess</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div
 ><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keywordtype">bool</span> bindMountSupported);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">bool</span> bindMountSupported;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, std::string&gt;</a> sandboxes;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;};</div><div class="line"><a name="l0
 0063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#endif // __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_ad3bc4bd141f3fd97ab8237f76b821ab3"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3">mesos::internal::sla
 ve::VolumeSandboxPathIsolatorProcess::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div></div>
+<a href="sandbox__path_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><sp
 an class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dis
 tributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__
 </span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocess
 or">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">   32</a></span>&#160;<span
  class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">VolumeSandboxPathIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ab8b6f8ec81cbc125c6a17fb48980aa8e">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="nam
 espaceflags.html">flags</a>);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a5e1c949df5cdcd6f23879eee590cdfc1">~VolumeSandboxPathIsolatorProcess</a>();</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a858b6ce8b137c8f2b14f27ea0bd28f08">supportsNesting</a>();</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_
 1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a070e403ff6494657c5a185e87d0abd81">supportsStandalone</a>();</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">recover</a>(</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00045"></a
 ><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">prepare</a>(</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classp
 rocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3">cleanup</a>(</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">VolumeSandboxPathIsolatorProcess</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</d
 iv><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keywordtype">bool</span> bindMountSupported);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">bool</span> bindMountSupported;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, std::string&gt;</a> sandboxes;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;};</div><div class="line"><a name="
 l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#endif // __VOLUME_SANDBOX_PATH_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_a823b24b8100090f2ebe3f7863ea088d9"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">mesos::internal::s
 lave::VolumeSandboxPathIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_ad3bc4bd141f3fd97ab8237f76b821ab3"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3">mesos::internal::slave::VolumeSandboxPathIsolatorProcess::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> sandbox_path.hpp:32</div></div>
@@ -65,7 +66,6 @@
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_a858b6ce8b137c8f2b14f27ea0bd28f08"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a858b6ce8b137c8f2b14f27ea0bd28f08">mesos::internal::slave::VolumeSandboxPathIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_a0cadbb9a9d14aa3fb7997c48b44c078a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">mesos::internal::slave::VolumeSandboxPathIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_a098095cb7af213cdf69e43874696089b"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">mesos::internal::slave::VolumeSandboxPathIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess_html_a5e1c949df5cdcd6f23879eee590cdfc1"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a5e1c949df5cdcd6f23879eee590cdfc1">mesos::internal::slave::VolumeSandboxPathIsolatorProcess::~VolumeSandboxPathIsolatorProcess</a></div><div class="ttdeci">virtual ~VolumeSandboxPathIsolatorProcess()</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_2containerizer_2docker_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_2containerizer_2docker_8hpp.html b/content/api/latest/c++/slave_2containerizer_2docker_8hpp.html
index c4b8834..d10ce27 100644
--- a/content/api/latest/c++/slave_2containerizer_2docker_8hpp.html
+++ b/content/api/latest/c++/slave_2containerizer_2docker_8hpp.html
@@ -56,8 +56,7 @@
 <div class="title">docker.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;map&gt;</code><br />
+<div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;set&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
 <code>#include &lt;<a class="el" href="slave_2container__logger_8hpp_source.html">mesos/slave/container_logger.hpp</a>&gt;</code><br />


[35/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/collect_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/collect_8hpp_source.html b/content/api/latest/c++/collect_8hpp_source.html
index 2e7dc07..5fb355a 100644
--- a/content/api/latest/c++/collect_8hpp_source.html
+++ b/content/api/latest/c++/collect_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">collect.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="collect_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</s
 pan></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="l
 ine"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_COLLECT_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_COLLECT_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;tuple&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a
  class="code" href="libprocess_2include_2process_2check_8hpp.html">process/check.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="defer_8hpp.html">process/defer.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &l
 t;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// TODO(bmahler): Move these into a futures.hpp header to group Future</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// related utilities.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a 
 class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// Waits on each future in the specified list and returns the list of</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// resulting values in the same order. If any future is discarded then</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// the result will be a failure. Likewise, if any future fails then</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// the result future will be a failure.</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</spa
 n> T&gt;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;Future&lt;std::list&lt;T&gt;&gt; <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(<span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;Future&lt;T&gt;&gt;&amp; futures);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// Waits on each future specified and returns the wrapping future</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// typed of a tuple of values.</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">template</
 span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;Future&lt;std::tuple&lt;Ts...&gt;&gt; <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(<span class="keyword">const</span> Future&lt;Ts&gt;&amp;... futures);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// Waits on each future in the specified set and returns the list of</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// non-pending futures.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</di
 v><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;Future&lt;std::list&lt;Future&lt;T&gt;&gt;&gt; <a class="code" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a>(<span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;Future&lt;T&gt;&gt;&amp; futures);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// Waits on each future specified and returns the wrapping future</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// typed of a tuple of futures.</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">template<
 /span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;Future&lt;std::tuple&lt;Future&lt;Ts&gt;...&gt;&gt; <a class="code" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a>(<span class="keyword">const</span> Future&lt;Ts&gt;&amp;... futures);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// Waits on the future specified and returns after the future has been</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// completed or the await has been discarded. This is useful when</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// wanting
  to &quot;break out&quot; of a future chain if a discard occurs but</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// the underlying future has not been discarded. For example:</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">//   Future&lt;string&gt; foo()</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">//   {</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">//     return bar()</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">//       .then([](int i) {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="com
 ment">//         return stringify(i);</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">//       });</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">//   }</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">//   Future&lt;stringify&gt; future = foo();</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">//   future.discard();</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">// In the above code we&#39;ll propagate the discard to `bar()` but might</span><
 /div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">// wait forever if `bar()` can&#39;t discard their computation. In some</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">// circumstances you might want to break out early and you can do that</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// by using `await`, because if we discard an `await` that function</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">// will return even though all of the future&#39;s it is waiting on have</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">// not been discarded (in other words, the `await` can be properly</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<sp
 an class="comment">// discarded even if the underlying futures have not been discarded).</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">//   Future&lt;string&gt; foo()</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">//   {</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">//     return await(bar())</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">//       .recover([](const Future&lt;Future&lt;string&gt;&gt;&amp; future) {</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">//         if (future.isDiscarded()) {</span></div><div class="line"><a name="l00089"></a>
 <span class="lineno">   89</span>&#160;<span class="comment">//           cleanup();</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">//         }</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">//         return Failure(&quot;Discarded waiting&quot;);</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">//       })</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">//       .then([](const Future&lt;int&gt;&amp; future) {</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">//         return future</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">//           .then([](int i) {</span></div><div class="line"><a name="l0009
 6"></a><span class="lineno">   96</span>&#160;<span class="comment">//             return stringify(i);</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">//           });</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">//       });</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">//   }</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">//   Future&lt;string&gt; future = foo();</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">//   future.discard();</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">//</
 span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">// Using `await` will enable you to continue execution even if `bar()`</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// does not (or can not) discard their execution.</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a9d64abf575bde6dc82f9d915b33743c8">  107</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Future&lt;T&gt;</a>&gt; <a class="code" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future)</div><div class="l
 ine"><a name="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a>(<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;{future})</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    .<a class="code" href="namespaceprocess_1_1internal.html#a7885011cf6470b707294a6ef4ec7a0a6">then</a>([=]() {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Future&lt;T&gt;</a>&gt;(future);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    });</div><div class
 ="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1internal.html">  116</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html">  119</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1internal_1_1CollectProcess.html
 ">CollectProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;CollectProcess&lt;T&gt;&gt;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">  122</a></span>&#160;  <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">CollectProcess</a>(</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;&amp; _futures
 ,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <a class="code" href="classprocess_1_1Promise.html">Promise</a>&lt;std::list&lt;T&gt;&gt;* _promise)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html">ProcessBase</a>(ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;__collect__&quot;</span>)),</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      futures(_futures.begin(), _futures.end()),</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      promise(_promise),</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      ready(0) {}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class
 ="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8">  130</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8">~CollectProcess</a>()</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">delete</span> promise;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31">  136</a></
 span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31">initialize</a>()</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">// Stop this nonsense if nobody cares.</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a8aef752d6c90cb11e58e3166b7592ef1">future</a>().<a class="code" href="classprocess_1_1Future.html#a1b80bf321358be44880d9c6bae5d9a2d">onDiscard</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::discarded));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><
 div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future, futures) {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::waited, lambda::_1));</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a3ef51b1f7e70860758e47c39ed7660f1">onAbandoned</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::abandoned));</div><div class="line"><a name=
 "l00144"></a><span class="lineno">  144</span>&#160;    }</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keywordtype">void</span> abandoned()</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  {</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">// There is no use waiting because this future will never complete</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="comment">// so terminate this process which will cause `promise` to get</span></div><div class="line"><a name="l00152"></a><span class="lineno
 ">  152</span>&#160;    <span class="comment">// deleted and our future to also be abandoned.</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keywordtype">void</span> discarded()</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">foreach</span> (<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a> future, futures) {</div><div class="line"><a name="l00159"></a><span class="lineno">  1
 59</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a4012f3faa6191fc13874dca62c14ced0">discard</a>();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// NOTE: we discard the promise after we set discard on each of</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="comment">// the futures so that there is a happens-before relationship that</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">// can be assumed by callers.</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a8f50fcfd7ddb6dd39ec2cd468377cd5d">di
 scard</a>();</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  }</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordtype">void</span> waited(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future)</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">if</span> (future.<a class="code" href="classprocess_1_1Future.h
 tml#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a2fc569c8bf99acb3e53a68ff3b266667">fail</a>(<span class="stringliteral">&quot;Collect failed: &quot;</span> + future.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (future.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00176"></a><span class="lineno">  176</spa
 n>&#160;      promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a2fc569c8bf99acb3e53a68ff3b266667">fail</a>(<span class="stringliteral">&quot;Collect failed: future discarded&quot;</span>);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140">CHECK_READY</a>(future);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      ready += 1;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keywordflow">if</span> (rea
 dy == futures.size()) {</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        std::list&lt;T&gt; values;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future, futures) {</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;          values.push_back(future.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>());</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        }</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a989b8dfa7eb2633de3f0f25ac2b87943">set</a>(values);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#
 160;        <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      }</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    }</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">const</span> std::vector&lt;Future&lt;T&gt;&gt; futures;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;T&gt;</a>&gt;* promise;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keywordtype">size_t</span> ready;</div><div class="line"><
 a name="l00195"></a><span class="lineno">  195</span>&#160;};</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1AwaitProcess.html">  199</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1internal_1_1AwaitProcess.html">AwaitProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;AwaitProcess&lt;T&gt;&gt;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;{</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">
 public</span>:</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">  202</a></span>&#160;  <a class="code" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">AwaitProcess</a>(</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;&amp; _futures,</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      <a class="code" href="classprocess_1_1Promise.html">Promise</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;&gt;* _prom
 ise)</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html">ProcessBase</a>(ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;__await__&quot;</span>)),</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;      futures(_futures.begin(), _futures.end()),</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      promise(_promise),</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      ready(0) {}</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15">  210</a></span>&#160;  <span class="keyword">virtual</span> <a class="code"
  href="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15">~AwaitProcess</a>()</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  {</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="keyword">delete</span> promise;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  }</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948">  215</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948">initialize</a>()</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  {</div><div class="line"><a
  name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="comment">// Stop this nonsense if nobody cares.</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    promise-&gt;future().onDiscard(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;AwaitProcess::discarded));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future, futures) {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb13
 3bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;AwaitProcess::waited, lambda::_1));</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a3ef51b1f7e70860758e47c39ed7660f1">onAbandoned</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;AwaitProcess::abandoned));</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  }</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="keywordtype">void</span> abandoned()</div><div class="line"
 ><a name="l00228"></a><span class="lineno">  228</span>&#160;  {</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="comment">// There is no use waiting because this future will never complete</span></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="comment">// so terminate this process which will cause `promise` to get</span></div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="comment">// deleted and our future to also be abandoned.</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="li
 ne"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="namespaceprocess_1_1internal.html#aa03406abec646ff3df058f9e55749c11">discarded</a>()</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  {</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordflow">foreach</span> (<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a> future, futures) {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a4012f3faa6191fc13874dca62c14ced0">discard</a>();</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    }</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="comment">//
  NOTE: we discard the promise after we set discard on each of</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="comment">// the futures so that there is a happens-before relationship that</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="comment">// can be assumed by callers.</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    promise-&gt;discard();</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  }</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="l
 ine"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">void</span> waited(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future)</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    CHECK(!future.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>());</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    ready += 1;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">if</span> (ready == futures.size()) {</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      promise-&gt;set(</div><div class="line"><a name="l00
 256"></a><span class="lineno">  256</span>&#160;        <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;(futures.begin(), futures.end()));</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;      <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    }</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  }</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keyword">const</span> std::vector&lt;Future&lt;T&gt;&gt; futures;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;
   <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;Future&lt;T&gt;</a>&gt;&gt;* promise;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="keywordtype">size_t</span> ready;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;};</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="lin
 e"><a name="l00271"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">  271</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::list&lt;T&gt;</a>&gt; <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;&amp; futures)</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;{</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keywordflow">if</span> (futures.empty()) {</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <spa
 n class="keywordflow">return</span> std::list&lt;T&gt;();</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  }</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;T&gt;</a>&gt;* promise = <span class="keyword">new</span> <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;T&gt;</a>&gt;();</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::list&lt;T&gt;</a>&gt; future = promise-&gt;future();</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">spawn</a>(<span class="keyword">new</span> <a class="code" href="classprocess_1_1interna
 l_1_1CollectProcess.html">internal::CollectProcess&lt;T&gt;</a>(futures, promise), <span class="keyword">true</span>);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keywordflow">return</span> future;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;}</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a6f599ec39a0b29f140d3556dda0940f7">  286</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future</a>&lt;std::tuple&lt;Ts...&gt;&gt; <a class="code" href="namespaceprocess.html#a0f89a937c1caa20
 e3048e16aeb0c9736">collect</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Ts&gt;</a>&amp;... futures)</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;{</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  std::list&lt;Future&lt;Nothing&gt;&gt; wrappers = {</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    futures.<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>([]() { <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>(); })...</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  };</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="comment">// TODO(klueska): Unfortunately, we have t
 o use a lambda followed</span></div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">// by a bind here because of a bug in gcc 4.8 to handle variadic</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="comment">// parameters in lambdas:</span></div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="comment">//     https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226</span></div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keyword">auto</span> <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a> = [](<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Ts&gt;</a>&amp;... futures) {</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">return</span> std::make_tup
 le(futures.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()...);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  };</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(wrappers)</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    .<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">std::bind</a>(<a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>, futures...));</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;}</div><div class="
 line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">  306</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::list&lt;Future&lt;T&gt;</a>&gt;&gt; <a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">await</a>(</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Futu
 re.html">Future&lt;T&gt;</a>&gt;&amp; futures)</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  <span class="keywordflow">if</span> (futures.empty()) {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordflow">return</span> futures;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  }</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;Future&lt;T&gt;</a>&gt;&gt;* promise =</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keyword">new</span> <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::list&lt;Future&lt;T&gt;</a>&g
 t;&gt;();</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::list&lt;Future&lt;T&gt;</a>&gt;&gt; future = promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a8aef752d6c90cb11e58e3166b7592ef1">future</a>();</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">spawn</a>(<span class="keyword">new</span> <a class="code" href="classprocess_1_1internal_1_1AwaitProcess.html">internal::AwaitProcess&lt;T&gt;</a>(futures, promise), <span class="keyword">true</span>);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="keywordflow">return</span> future;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;}</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div 
 class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a798bdf13d396404bbf4cd7bb9d25c62c">  322</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;std::tuple&lt;Future&lt;Ts&gt;</a>...&gt;&gt; <a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">await</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Ts&gt;</a>&amp;... futures)</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;{</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  std::list&lt;Future&lt;Nothing&gt;&gt; wrappers = {</div><div class="line"><a name
 ="l00325"></a><span class="lineno">  325</span>&#160;    futures.<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>([]() { <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>(); })...</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  };</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  <span class="comment">// TODO(klueska): Unfortunately, we have to use a lambda followed</span></div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="comment">// by a bind here because of a bug in gcc 4.8 to handle variadic</span></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="comment">// parameters in lambdas:</span></div><div class="line"><a name="l00331"></a><span class="
 lineno">  331</span>&#160;  <span class="comment">//     https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="keyword">auto</span> <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a> = [](<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Ts&gt;</a>&amp;... futures) {</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">return</span> std::make_tuple(futures...);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  };</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">awa
 it</a>(wrappers)</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    .then(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">std::bind</a>(<a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>, futures...));</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;}</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;} <span class="comment">// namespace process {</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">#endif // __PROCESS_COLLECT_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.h
 tml#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
+<a href="collect_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</s
 pan></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="l
 ine"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_COLLECT_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_COLLECT_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;tuple&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;
 <a class="code" href="libprocess_2include_2process_2check_8hpp.html">process/check.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="defer_8hpp.html">process/defer.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include 
 &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// TODO(bmahler): Move these into a futures.hpp header to group Future</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// related utilities.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><
 a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// Waits on each future in the specified list and returns the list of</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// resulting values in the same order. If any future is discarded then</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// the result will be a failure. Likewise, if any future fails then</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// the result future will be a failure.</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</s
 pan> T&gt;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;Future&lt;std::vector&lt;T&gt;&gt; <a class="code" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">collect</a>(<span class="keyword">const</span> std::vector&lt;Future&lt;T&gt;&gt;&amp; futures);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// Waits on each future specified and returns the wrapping future</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// typed of a tuple of values.</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name
 ="l00045"></a><span class="lineno">   45</span>&#160;Future&lt;std::tuple&lt;Ts...&gt;&gt; <a class="code" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">collect</a>(<span class="keyword">const</span> Future&lt;Ts&gt;&amp;... futures);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// Waits on each future in the specified set and returns the list of</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// non-pending futures.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;Future&l
 t;std::vector&lt;Future&lt;T&gt;&gt;&gt; <a class="code" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">await</a>(<span class="keyword">const</span> std::vector&lt;Future&lt;T&gt;&gt;&amp; futures);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// Waits on each future specified and returns the wrapping future</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// typed of a tuple of futures.</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;Future&lt;std::tuple&lt;Future&lt;Ts
 &gt;...&gt;&gt; <a class="code" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">await</a>(<span class="keyword">const</span> Future&lt;Ts&gt;&amp;... futures);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// Waits on the future specified and returns after the future has been</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// completed or the await has been discarded. This is useful when</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// wanting to &quot;break out&quot; of a future chain if a discard occurs but</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment
 ">// the underlying future has not been discarded. For example:</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">//   Future&lt;string&gt; foo()</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">//   {</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">//     return bar()</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">//       .then([](int i) {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//         return stringify(i);</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">//       });</span></div><di
 v class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">//   }</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">//   Future&lt;stringify&gt; future = foo();</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">//   future.discard();</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">// In the above code we&#39;ll propagate the discard to `bar()` but might</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">// wait forever if `bar()` can&#39;t discard their computation. In some</
 span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">// circumstances you might want to break out early and you can do that</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// by using `await`, because if we discard an `await` that function</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">// will return even though all of the future&#39;s it is waiting on have</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">// not been discarded (in other words, the `await` can be properly</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">// discarded even if the underlying futures have not been discarded).</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160
 ;<span class="comment">//</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">//   Future&lt;string&gt; foo()</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">//   {</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">//     return await(bar())</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">//       .recover([](const Future&lt;Future&lt;string&gt;&gt;&amp; future) {</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">//         if (future.isDiscarded()) {</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">//           cleanup();</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<sp
 an class="comment">//         }</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">//         return Failure(&quot;Discarded waiting&quot;);</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">//       })</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">//       .then([](const Future&lt;int&gt;&amp; future) {</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">//         return future</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">//           .then([](int i) {</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">//             return stringify(i);</span></div><div class="line"><a name="l00097"></a><span class="lineno">  
  97</span>&#160;<span class="comment">//           });</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">//       });</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">//   }</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">//   Future&lt;string&gt; future = foo();</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">//   future.discard();</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">// Using `await` will enable you to continue execution even if `bar
 ()`</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// does not (or can not) discard their execution.</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a9d64abf575bde6dc82f9d915b33743c8">  107</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Future&lt;T&gt;</a>&gt; <a class="code" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">await</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future)</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordflow">
 return</span> <a class="code" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">await</a>(std::vector&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;{future})</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    .<a class="code" href="namespaceprocess_1_1internal.html#a7885011cf6470b707294a6ef4ec7a0a6">then</a>([=]() {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Future&lt;T&gt;</a>&gt;(future);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    });</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="
 l00116"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1internal.html">  116</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html">  119</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1internal_1_1CollectProcess.html">CollectProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;CollectProcess&lt;T&gt;&gt;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div><div class="line"><a name=
 "l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">  122</a></span>&#160;  <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">CollectProcess</a>(</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&gt;&amp; _futures,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <a class="code" href="classprocess_1_1Promise.html">Promise</a>&lt;std::vector&lt;T&gt;&gt;* _promise)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html">ProcessBase</a>(ID::<a 
 class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;__collect__&quot;</span>)),</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      futures(_futures),</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      promise(_promise),</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      ready(0) {}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8">  130</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8">~CollectProcess</a>()</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#16
 0;  {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">delete</span> promise;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31">  136</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31">initialize</a>()</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    
 <span class="comment">// Stop this nonsense if nobody cares.</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a8aef752d6c90cb11e58e3166b7592ef1">future</a>().<a class="code" href="classprocess_1_1Future.html#a1b80bf321358be44880d9c6bae5d9a2d">onDiscard</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::discarded));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future, futures) {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      future.<a class="code" href="classprocess_
 1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::waited, lambda::_1));</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a3ef51b1f7e70860758e47c39ed7660f1">onAbandoned</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">this</span>, &amp;CollectProcess::abandoned));</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    }</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l0
 0148"></a><span class="lineno">  148</span>&#160;  <span class="keywordtype">void</span> abandoned()</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  {</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">// There is no use waiting because this future will never complete</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="comment">// so terminate this process which will cause `promise` to get</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">// deleted and our future to also be abandoned.</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00154"></a><span class="lineno">  
 154</span>&#160;  }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keywordtype">void</span> discarded()</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">foreach</span> (<a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a> future, futures) {</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      future.<a class="code" href="classprocess_1_1Future.html#a4012f3faa6191fc13874dca62c14ced0">discard</a>();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;
     <span class="comment">// NOTE: we discard the promise after we set discard on each of</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="comment">// the futures so that there is a happens-before relationship that</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">// can be assumed by callers.</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a8f50fcfd7ddb6dd39ec2cd468377cd5d">discard</a>();</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00168"></a><span class="lineno">  168<
 /span>&#160;  }</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordtype">void</span> waited(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future)</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">if</span> (future.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a2fc569c8bf99acb3e53a68ff3b266667">fail</a>(<span class="stringliteral">&quot;Collect failed: &quot;</span> + future.<a class="code" href="classprocess_1_1Future.html#ae649c56
 b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (future.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a2fc569c8bf99acb3e53a68ff3b266667">fail</a>(<span class="stringliteral">&quot;Collect failed: future discarded&quot;</span>);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>
 (<span class="keyword">this</span>);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140">CHECK_READY</a>(future);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      ready += 1;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keywordflow">if</span> (ready == futures.size()) {</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        std::vector&lt;T&gt; values;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        values.reserve(futures.size());</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l
 00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;T&gt;</a>&amp; future, futures) {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          values.push_back(future.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>());</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        }</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        promise-&gt;<a class="code" href="classprocess_1_1Promise.html#a989b8dfa7eb2633de3f0f25ac2b87943">set</a>(std::move(values));</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <a class="code" href="namespaceprocess.html#a20443908afa3212215166e2
 6065349e5">terminate</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      }</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    }</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  }</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="keyword">const</span> std::vector&lt;Future&lt;T&gt;&gt; futures;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <a class="code" href="classprocess_1_1Promise.html">Promise&lt;std::vector&lt;T&gt;</a>&gt;* promise;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordtype">size_t</span> ready;</div><div clas

<TRUNCATED>

[28/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/image_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/image_8hpp.html b/content/api/latest/c++/image_8hpp.html
index 5975850..51460dc 100644
--- a/content/api/latest/c++/image_8hpp.html
+++ b/content/api/latest/c++/image_8hpp.html
@@ -55,8 +55,7 @@
 <div class="title">image.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;string&gt;</code><br />
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
 <code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="3rdparty_2libprocess_2include_2process_2shared_8hpp_source.html">process/shared.hpp</a>&gt;</code><br />
 <code>#include &quot;<a class="el" href="src_2slave_2flags_8hpp_source.html">slave/flags.hpp</a>&quot;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/image_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/image_8hpp_source.html b/content/api/latest/c++/image_8hpp_source.html
index aa7fd28..03ed6ff 100644
--- a/content/api/latest/c++/image_8hpp_source.html
+++ b/content/api/latest/c++/image_8hpp_source.html
@@ -52,9 +52,9 @@
 <div class="title">image.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="image_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class
 ="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed
  under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div clas
 s="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="prepr
 ocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="provisioner_8hpp.html">slave/containerizer/mesos/provisioner/provisioner.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" h
 ref="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// The volume image isolator is responsible for preparing image</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// volumes for mesos container.</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">   38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmes
 os_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">VolumeImageIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#ae08ca73a7f23132c0c23e62e213fa6fd">create</a>(</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="cod
 e" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provisioner);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#abb1b79d4d7f2bb4d739350160b1d8b5c">~VolumeImageIsolatorProcess</a>();</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#acecd48f1c0062412e48f501e
 bf48bb00">supportsNesting</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#af80412cb2181ae3d26264e1d1d2f31d4">supportsStandalone</a>();</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">prepare</a>(</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name=
 "l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">VolumeImageIsolatorProcess</a>(</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provi
 sioner);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; targets,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a>&gt;&amp; futures);</div><div class="l
 ine"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a> provisioner;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;};</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00070"></a><span class="li
 neno">   70</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif // __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html_af80412cb2181ae3d26264e1d1d2f31d4"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#af80412cb2181ae3d26264e1d1d2f31d4">mesos::internal::slave::VolumeImageIsolatorProcess::supportsStandalone</a></div><div class="ttdeci">virtual bool supportsStandalone()</div></div>
+<a href="image_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class
 ="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed
  under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div clas
 s="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name=
 "l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="provisioner_8hpp.html">slave/containerizer/mesos/provisioner/provisioner.hpp</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keywo
 rd">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// The volume image isolator is responsible for preparing image</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// volumes for mesos container.</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">   37</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">VolumeImageIsolatorProcess</a> : <span class="keyword">public</span> <a class="
 code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#ae08ca73a7f23132c0c23e62e213fa6fd">create</a>(</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      <span cla
 ss="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provisioner);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#abb1b79d4d7f2bb4d739350160b1d8b5c">~VolumeImageIsolatorProcess</a>();</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#acecd48f1c0062412e48f501ebf48bb00">supportsNesting</a>();</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword"
 >virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#af80412cb2181ae3d26264e1d1d2f31d4">supportsStandalone</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">prepare</a>(</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerCo
 nfig);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">VolumeImageIsolatorProcess</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provisioner);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><s
 pan class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; targets,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_
 1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a> provisioner;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;};</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71<
 /span>&#160;<span class="preprocessor">#endif // __VOLUME_IMAGE_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html_af80412cb2181ae3d26264e1d1d2f31d4"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#af80412cb2181ae3d26264e1d1d2f31d4">mesos::internal::slave::VolumeImageIsolatorProcess::supportsStandalone</a></div><div class="ttdeci">virtual bool supportsStandalone()</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">mesos::internal::slave::VolumeImageIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> image.hpp:38</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">mesos::internal::slave::VolumeImageIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> image.hpp:37</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html_acecd48f1c0062412e48f501ebf48bb00"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#acecd48f1c0062412e48f501ebf48bb00">mesos::internal::slave::VolumeImageIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Flags_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Flags.html">mesos::internal::slave::Flags</a></div><div class="ttdef"><b>Definition:</b> flags.hpp:39</div></div>
 <div class="ttc" id="3rdparty_2libprocess_2include_2process_2shared_8hpp_html"><div class="ttname"><a href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">shared.hpp</a></div></div>
@@ -64,7 +64,6 @@
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html_a42d5e2341e2391c25e310aac0ec13716"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">mesos::internal::slave::VolumeImageIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess_html_abb1b79d4d7f2bb4d739350160b1d8b5c"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#abb1b79d4d7f2bb4d739350160b1d8b5c">mesos::internal::slave::VolumeImageIsolatorProcess::~VolumeImageIsolatorProcess</a></div><div class="ttdeci">virtual ~VolumeImageIsolatorProcess()</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp.html b/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp.html
index 94c131d..ca4fb2c 100644
--- a/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp.html
+++ b/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp.html
@@ -55,8 +55,8 @@
 <div class="title">isolator.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;string&gt;</code><br />
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="resources_8hpp_source.html">mesos/resources.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="include_2mesos_2slave_2containerizer_8hpp_source.html">mesos/slave/containerizer.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="dispatch_8hpp_source.html">process/dispatch.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp_source.html b/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp_source.html
index 69f8f06..a3c1f1f 100644
--- a/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp_source.html
+++ b/content/api/latest/c++/include_2mesos_2slave_2isolator_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">isolator.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="include_2mesos_2slave_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a nam
 e="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span clas
 s="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_SLAVE_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_SLAVE_ISOLATOR_HPP
 __</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2containerizer_8hpp.html">mesos/slave/containerizer.hpp</a>&gt;</span></div><div class=
 "line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line">
 <a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00038"></a><spa
 n class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html">   39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1slave_1_1Isolator.html">Isolator</a></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">   42</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">~Isolator</a>() {}</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; 
  <span class="comment">// Returns true if this isolator supports nested containers. This</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">// method is designed to allow isolators to opt-in to support nested</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">// containers.</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">   47</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">supportsNesting</a>()</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">return</span> <
 span class="keyword">false</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  }</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">   52</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a>()</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>
 &#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="comment">// Recover containers from the run states and the orphan containers</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="comment">// (known to the launcher but not known to the slave) detected by</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">// the launcher.</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">   60</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; 
      <span class="keyword">const</span> std::list&lt;ContainerState&gt;&amp; states,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  {</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">// Prepare for isolation of the executor. Any steps that require</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#16
 0;  <span class="comment">// execution in the containerized context (e.g. inside a network</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="comment">// namespace) can be returned in the optional CommandInfo and they</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="comment">// will be run by the Launcher.</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">// TODO(idownes): Any URIs or Environment in the CommandInfo will be</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="comment">// ignored; only the command value is used.</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">   73</a></span>&#160;  <span class="keyword">virtual</span> <a class="c
 ode" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">const</span> ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  }</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l0008
 0"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Isolate the executor.</span></div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">   81</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  {</div><div class="line"><a nam
 e="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// Watch the containerized executor and report if any resource</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// constraint impacts the container, e.g., the kernel killing some</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// processes.</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">   91</a></span>&#160;  <s
 pan class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerLimitation&gt;</a>();</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// Update th
 e resources allocated to the container.</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">   98</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <spa
 n class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  }</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="comment">// Gather resource usage statistics for the container.</span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">  106</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">usage</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> ContainerID&amp; c
 ontainerId)</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="comment">// Get the run-time status of isolator specific properties</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="comment">// associated with the container.</span></div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">  114</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_
 1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">status</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">return</span> ContainerStatus();</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// Clean up a terminated container. This is called after the</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="com
 ment">// executor and all processes in the container have terminated.</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// It&#39;s likely that isolator `cleanup` is called for an unknown</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// container (see MESOS-6059). Therefore, the isolator should ignore</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// the cleanup is the container is unknown to it. In any case, the</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">// `cleanup` won&#39;t be called multiple times for a container. Also,</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="comment">// if `prepare` is called, the cleanup is guaranteed to be called</span></div><div
  class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="comment">// after `prepare` finishes (or fails).</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">  128</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">cleanup</a>(</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div clas
 s="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;};</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#endif // __MESOS_SLAVE_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
+<a href="include_2mesos_2slave_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a nam
 e="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span clas
 s="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_SLAVE_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_SLAVE_ISOLATOR_HPP
 __</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2containerizer_8hpp.html">mesos/slave/containerizer.hpp</a>&gt;</span></div><div clas
 s="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line
 "><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00038"></a><s
 pan class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html">   39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1slave_1_1Isolator.html">Isolator</a></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">   42</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">~Isolator</a>() {}</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160
 ;  <span class="comment">// Returns true if this isolator supports nested containers. This</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">// method is designed to allow isolators to opt-in to support nested</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">// containers.</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">   47</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">supportsNesting</a>()</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">return</span>
  <span class="keyword">false</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  }</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">   52</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a>()</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</spa
 n>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="comment">// Recover containers from the run states and the orphan containers</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="comment">// (known to the launcher but not known to the slave) detected by</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">// the launcher.</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">   60</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160
 ;      <span class="keyword">const</span> std::vector&lt;ContainerState&gt;&amp; states,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  {</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">// Prepare for isolation of the executor. Any steps that require</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>
 &#160;  <span class="comment">// execution in the containerized context (e.g. inside a network</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="comment">// namespace) can be returned in the optional CommandInfo and they</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="comment">// will be run by the Launcher.</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">// TODO(idownes): Any URIs or Environment in the CommandInfo will be</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="comment">// ignored; only the command value is used.</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">   73</a></span>&#160;  <span class="keyword">virtual</span> <a clas
 s="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">const</span> ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  }</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l
 00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Isolate the executor.</span></div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">   81</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  {</div><div class="line"><a
  name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// Watch the containerized executor and report if any resource</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// constraint impacts the container, e.g., the kernel killing some</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// processes.</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">   91</a></span>&#160;
   <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerLimitation&gt;</a>();</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// Updat
 e the resources allocated to the container.</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">   98</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    
 <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  }</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="comment">// Gather resource usage statistics for the container.</span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">  106</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">usage</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> ContainerID&am
 p; containerId)</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="comment">// Get the run-time status of isolator specific properties</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="comment">// associated with the container.</span></div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">  114</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classproces
 s_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">status</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">return</span> ContainerStatus();</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// Clean up a terminated container. This is called after the</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class=
 "comment">// executor and all processes in the container have terminated.</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// It&#39;s likely that isolator `cleanup` is called for an unknown</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// container (see MESOS-6059). Therefore, the isolator should ignore</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// the cleanup is the container is unknown to it. In any case, the</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">// `cleanup` won&#39;t be called multiple times for a container. Also,</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="comment">// if `prepare` is called, the cleanup is guaranteed to be called</span></div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="comment">// after `prepare` finishes (or fails).</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">  128</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">cleanup</a>(</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div 
 class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;};</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#endif // __MESOS_SLAVE_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
 <div class="ttc" id="structNothing_html"><div class="ttname"><a href="structNothing.html">Nothing</a></div><div class="ttdef"><b>Definition:</b> nothing.hpp:16</div></div>
 <div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a9472d7a623eedfd99168825ffbe3c570"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">mesos::slave::Isolator::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div><div class="ttdef"><b>Definition:</b> isolator.hpp:47</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
@@ -62,7 +62,7 @@
 <div class="ttc" id="dispatch_8hpp_html"><div class="ttname"><a href="dispatch_8hpp.html">dispatch.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a9ec7749b09cc7fb2d0286bf2eca913ac"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">mesos::slave::Isolator::~Isolator</a></div><div class="ttdeci">virtual ~Isolator()</div><div class="ttdef"><b>Definition:</b> isolator.hpp:42</div></div>
 <div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html_ab03ced250ed239bc3b50b669493997f9"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a></div><div class="ttdeci">DWORD pid_t</div><div class="ttdef"><b>Definition:</b> windows.hpp:181</div></div>
-<div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a0d91782894ecd7bd20f5778d9e01c018"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">mesos::slave::Isolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:60</div></div>
+<div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a67d35276d3fb6a19cd9290bb4c7aa7f7"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">mesos::slave::Isolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:60</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
 <div class="ttc" id="include_2mesos_2slave_2containerizer_8hpp_html"><div class="ttname"><a href="include_2mesos_2slave_2containerizer_8hpp.html">containerizer.hpp</a></div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>


[19/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/namespaceprocess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/namespaceprocess.html b/content/api/latest/c++/namespaceprocess.html
index 1a88875..af889f9 100644
--- a/content/api/latest/c++/namespaceprocess.html
+++ b/content/api/latest/c++/namespaceprocess.html
@@ -261,15 +261,15 @@ Functions</h2></td></tr>
 <tr class="separator:a9a7ae46e9f2d15e3fcd2bff8c87204c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4093b842d501fdddd4b2586e66c3db63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a4093b842d501fdddd4b2586e66c3db63">REPEAT_FROM_TO</a> (1, 13, <a class="el" href="subcommand_8hpp.html#a659a0f3373b1b8ed3e348bc4332657e2">TEMPLATE</a>, _) class AsyncExecutorProcess</td></tr>
 <tr class="separator:a4093b842d501fdddd4b2586e66c3db63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::list&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a> (const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;futures)</td></tr>
-<tr class="separator:a0f89a937c1caa20e3048e16aeb0c9736"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a871061d70cd1c8bf39df4d1154cd1857"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a871061d70cd1c8bf39df4d1154cd1857"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::vector&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">collect</a> (const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;futures)</td></tr>
+<tr class="separator:a871061d70cd1c8bf39df4d1154cd1857"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6f599ec39a0b29f140d3556dda0940f7"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
 <tr class="memitem:a6f599ec39a0b29f140d3556dda0940f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::tuple&lt; Ts... &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a6f599ec39a0b29f140d3556dda0940f7">collect</a> (const <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; Ts &gt; &amp;...futures)</td></tr>
 <tr class="separator:a6f599ec39a0b29f140d3556dda0940f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9244f063b856adbc7182f8620b01034c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a9244f063b856adbc7182f8620b01034c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a> (const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;futures)</td></tr>
-<tr class="separator:a9244f063b856adbc7182f8620b01034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e2dd66121c628a77b57766a7a276838"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a4e2dd66121c628a77b57766a7a276838"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">await</a> (const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;futures)</td></tr>
+<tr class="separator:a4e2dd66121c628a77b57766a7a276838"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
 <tr class="memitem:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::tuple&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; Ts &gt;... &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a798bdf13d396404bbf4cd7bb9d25c62c">await</a> (const <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; Ts &gt; &amp;...futures)</td></tr>
 <tr class="separator:a798bdf13d396404bbf4cd7bb9d25c62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -827,7 +827,7 @@ template&lt;typename... T&gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="a9244f063b856adbc7182f8620b01034c"></a>
+<a class="anchor" id="a4e2dd66121c628a77b57766a7a276838"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -837,9 +837,9 @@ template&lt;typename T &gt; </div>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt; &gt; &gt; process::await </td>
+          <td class="memname"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt; &gt; &gt; process::await </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
           <td class="paramname"><em>futures</em></td><td>)</td>
           <td></td>
         </tr>
@@ -930,7 +930,7 @@ template&lt;typename T &gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="a0f89a937c1caa20e3048e16aeb0c9736"></a>
+<a class="anchor" id="a871061d70cd1c8bf39df4d1154cd1857"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -940,9 +940,9 @@ template&lt;typename T &gt; </div>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::list&lt; T &gt; &gt; process::collect </td>
+          <td class="memname"><a class="el" href="classprocess_1_1Future.html">Future</a>&lt; std::vector&lt; T &gt; &gt; process::collect </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classprocess_1_1Future.html">Future</a>&lt; T &gt;&gt; &amp;&#160;</td>
           <td class="paramname"><em>futures</em></td><td>)</td>
           <td></td>
         </tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/posix_2disk_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/posix_2disk_8hpp_source.html b/content/api/latest/c++/posix_2disk_8hpp_source.html
index 3ea25b8..9e69005 100644
--- a/content/api/latest/c++/posix_2disk_8hpp_source.html
+++ b/content/api/latest/c++/posix_2disk_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">disk.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="posix_2disk_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_DISK_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_DISK_ISOLATOR_HPP__</span></div><div cl
 ass="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="bytes_8hpp.html">stout/bytes.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a nam
 e="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namesp
 ace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>DiskUsageCollectorProcess;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<
 span class="comment">// Responsible for collecting disk usage for paths, while ensuring</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// that an interval elapses between each collection.</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">DiskUsageCollector</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#a3a20f26f0b31c9efd4e52c7679458531">DiskUsageCollector</a>
 (<span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; interval);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#aaa66269f9c830ebcb95c4da649db3d8b">~DiskUsageCollector</a>();</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// Returns the disk usage rooted at &#39;path&#39;. The user can discard the</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="comment">// returned future to cancel the check.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsa
 geCollector.html#a7568ce79c91387c4fb7ab45cc7c9b1c1">usage</a>(</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; excludes);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  DiskUsageCollectorProcess* <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;};</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a
  name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// This isolator monitors the disk usage for containers, and reports</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// ContainerLimitation when a container exceeds its disk quota. This</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// leverages the DiskUsageCollector to ensure that we don&#39;t induce too</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// much CPU usage and disk caching effects from running &#39;du&#39; too</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// often.</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160
 ;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// NOTE: Currently all containers are processed in the same queue,</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// which means that when a container starts, it could take many disk</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// collection intervals until any data is available in the resource</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// usage statistics!</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// TODO(jieyu): Consider handling each container independently, or</spa
 n></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// triggering an initial collection when the container starts, to</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">// ensure that we have usage statistics without a large delay.</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">   73</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;{</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160
 ;<span class="keyword">public</span>:</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a>();</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <s
 pan class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsNesting();</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsStandalone();</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">const</span> <a 
 class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="namespacecgroups.html#a4bf20862574beb5b0f9af7799489866f">prepare</a>(</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</sp
 an>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#aceb245d6ea6362ac1c2b1247556179d6">isolate</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> watch(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#
 160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</sp
 an>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#a7568ce79c91387c4fb7ab45cc7c9b1c1">usage</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#a12d210f286e5fcf7993c0c90b9459606">cleanup</a>(</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name=
 "l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containe
 rId,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">void</span> _collect(</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> std::string&amp; path,</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a>&amp; future);</div><div class="line"><a name="l00119"></a><span class="l
 ineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">DiskUsageCollector</a> collector;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keyword">explicit</span> Info(<span class="keyword">const</span> std::string&amp; _direc
 tory) : directory(_directory) {}</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="comment">// We save executor working directory here so that we know where</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">// to collect disk usage for disk resources without DiskInfo.</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">const</span> std::string directory;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#
 160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">// The keys of the hashmaps contain the executor working directory</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">// above, and optionally paths of volumes used by the container.</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="comment">// For each path, we maintain its quota and its last usage.</span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">  136</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">PathInfo</a></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    {</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      ~<a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">PathInfo</a>();</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aba6fc02348cdc2e2c3f44b1702cec5d5">  140</a></span>&#160;      <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aba6fc02348cdc2e2c3f44b1702cec5d5">quota</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aadcca1381da7c5b1bab82d47844d6dd5">  141</a></span>&#160;      <a class="c
 ode" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aadcca1381da7c5b1bab82d47844d6dd5">usage</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#a5ef48552014eadfa8895034fb388fb3a">  142</a></span>&#160;      <a class="code" href="classOption.html">Option&lt;Bytes&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#a5ef48552014eadfa8895034fb388fb3a">lastUsage</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    };</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt
 ;std::string, PathInfo&gt;</a> <a class="code" href="namespaceos_1_1libraries.html#a41b3cb8b32c32ab2abf7a7aa62de9f18">paths</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  };</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="namespacerouting_1_1diagnosis_1_1socket.html#a8937277756951dcc28f2dbdbd9ea24d7">infos</a>;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;};</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;} <span cl
 ass="comment">// namespace internal {</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#endif // __POSIX_DISK_ISOLATOR_HPP__</span></div><div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_afa485608d261b11b9b4c619b4b4d6e28"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">mesos::internal::log::protocol::recover</a></div><div class="ttdeci">Protocol&lt; RecoverRequest, RecoverResponse &gt; recover</div></div>
+<a href="posix_2disk_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_DISK_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_DISK_ISOLATOR_HPP__</span></div><div cl
 ass="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="bytes_8hpp.html">stout/bytes.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a nam
 e="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namesp
 ace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>DiskUsageCollectorProcess;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<
 span class="comment">// Responsible for collecting disk usage for paths, while ensuring</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// that an interval elapses between each collection.</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">DiskUsageCollector</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#a3a20f26f0b31c9efd4e52c7679458531">DiskUsageCollector</a>
 (<span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; interval);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#aaa66269f9c830ebcb95c4da649db3d8b">~DiskUsageCollector</a>();</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// Returns the disk usage rooted at &#39;path&#39;. The user can discard the</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="comment">// returned future to cancel the check.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsa
 geCollector.html#a7568ce79c91387c4fb7ab45cc7c9b1c1">usage</a>(</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; excludes);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  DiskUsageCollectorProcess* <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;};</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a
  name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// This isolator monitors the disk usage for containers, and reports</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// ContainerLimitation when a container exceeds its disk quota. This</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// leverages the DiskUsageCollector to ensure that we don&#39;t induce too</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// much CPU usage and disk caching effects from running &#39;du&#39; too</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// often.</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160
 ;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// NOTE: Currently all containers are processed in the same queue,</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// which means that when a container starts, it could take many disk</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// collection intervals until any data is available in the resource</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// usage statistics!</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// TODO(jieyu): Consider handling each container independently, or</spa
 n></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// triggering an initial collection when the container starts, to</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">// ensure that we have usage statistics without a large delay.</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">   73</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;{</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160
 ;<span class="keyword">public</span>:</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a>();</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <s
 pan class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsNesting();</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsStandalone();</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">const</span> <
 a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="namespacecgroups.html#a4bf20862574beb5b0f9af7799489866f">prepare</a>(</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</
 span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#aceb245d6ea6362ac1c2b1247556179d6">isolate</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> watch(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>
 &#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</
 span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html#a7568ce79c91387c4fb7ab45cc7c9b1c1">usage</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#a12d210f286e5fcf7993c0c90b9459606">cleanup</a>(</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a nam
 e="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">PosixDiskIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">collect</a>(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> ContainerID&amp; contai
 nerId,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">void</span> _collect(</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> std::string&amp; path,</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a>&amp; future);</div><div class="line"><a name="l00119"></a><span class=
 "lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">DiskUsageCollector</a> collector;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keyword">explicit</span> Info(<span class="keyword">const</span> std::string&amp; _dir
 ectory) : directory(_directory) {}</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="comment">// We save executor working directory here so that we know where</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">// to collect disk usage for disk resources without DiskInfo.</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">const</span> std::string directory;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>
 &#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">// The keys of the hashmaps contain the executor working directory</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">// above, and optionally paths of volumes used by the container.</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="comment">// For each path, we maintain its quota and its last usage.</span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">  136</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">PathInfo</a></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    {</di
 v><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      ~<a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html">PathInfo</a>();</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aba6fc02348cdc2e2c3f44b1702cec5d5">  140</a></span>&#160;      <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aba6fc02348cdc2e2c3f44b1702cec5d5">quota</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aadcca1381da7c5b1bab82d47844d6dd5">  141</a></span>&#160;      <a class=
 "code" href="classprocess_1_1Future.html">process::Future&lt;Bytes&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aadcca1381da7c5b1bab82d47844d6dd5">usage</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#a5ef48552014eadfa8895034fb388fb3a">  142</a></span>&#160;      <a class="code" href="classOption.html">Option&lt;Bytes&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#a5ef48552014eadfa8895034fb388fb3a">lastUsage</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    };</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="classhashmap.html">hashmap&
 lt;std::string, PathInfo&gt;</a> <a class="code" href="namespaceos_1_1libraries.html#a41b3cb8b32c32ab2abf7a7aa62de9f18">paths</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  };</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="namespacerouting_1_1diagnosis_1_1socket.html#a8937277756951dcc28f2dbdbd9ea24d7">infos</a>;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;};</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;} <span 
 class="comment">// namespace internal {</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#endif // __POSIX_DISK_ISOLATOR_HPP__</span></div><div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_afa485608d261b11b9b4c619b4b4d6e28"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">mesos::internal::log::protocol::recover</a></div><div class="ttdeci">Protocol&lt; RecoverRequest, RecoverResponse &gt; recover</div></div>
 <div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
 <div class="ttc" id="namespacecgroups_html_aceb245d6ea6362ac1c2b1247556179d6"><div class="ttname"><a href="namespacecgroups.html#aceb245d6ea6362ac1c2b1247556179d6">cgroups::isolate</a></div><div class="ttdeci">Try&lt; Nothing &gt; isolate(const std::string &amp;hierarchy, const std::string &amp;cgroup, pid_t pid)</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; Bytes &gt;</a></div></div>
@@ -65,6 +65,7 @@
 <div class="ttc" id="namespaceos_1_1libraries_html_a41b3cb8b32c32ab2abf7a7aa62de9f18"><div class="ttname"><a href="namespaceos_1_1libraries.html#a41b3cb8b32c32ab2abf7a7aa62de9f18">os::libraries::paths</a></div><div class="ttdeci">std::string paths()</div><div class="ttdef"><b>Definition:</b> os.hpp:136</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Flags_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Flags.html">mesos::internal::slave::Flags</a></div><div class="ttdef"><b>Definition:</b> flags.hpp:39</div></div>
 <div class="ttc" id="classDuration_html"><div class="ttname"><a href="classDuration.html">Duration</a></div><div class="ttdef"><b>Definition:</b> duration.hpp:32</div></div>
+<div class="ttc" id="namespaceprocess_html_a871061d70cd1c8bf39df4d1154cd1857"><div class="ttname"><a href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">process::collect</a></div><div class="ttdeci">Future&lt; std::vector&lt; T &gt; &gt; collect(const std::vector&lt; Future&lt; T &gt;&gt; &amp;futures)</div><div class="ttdef"><b>Definition:</b> collect.hpp:274</div></div>
 <div class="ttc" id="src_2slave_2containerizer_2mesos_2isolator_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">isolator.hpp</a></div></div>
 <div class="ttc" id="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo_html_aadcca1381da7c5b1bab82d47844d6dd5"><div class="ttname"><a href="structmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess_1_1Info_1_1PathInfo.html#aadcca1381da7c5b1bab82d47844d6dd5">mesos::internal::slave::PosixDiskIsolatorProcess::Info::PathInfo::usage</a></div><div class="ttdeci">process::Future&lt; Bytes &gt; usage</div><div class="ttdef"><b>Definition:</b> disk.hpp:141</div></div>
 <div class="ttc" id="classhashmap_html"><div class="ttname"><a href="classhashmap.html">hashmap</a></div><div class="ttdef"><b>Definition:</b> hashmap.hpp:38</div></div>
@@ -92,7 +93,6 @@
 <div class="ttc" id="hashmap_8hpp_html"><div class="ttname"><a href="hashmap_8hpp.html">hashmap.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DiskUsageCollector.html">mesos::internal::slave::DiskUsageCollector</a></div><div class="ttdef"><b>Definition:</b> disk.hpp:42</div></div>
 <div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future&lt; Bytes &gt;</a></div></div>
-<div class="ttc" id="namespaceprocess_html_a0f89a937c1caa20e3048e16aeb0c9736"><div class="ttname"><a href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">process::collect</a></div><div class="ttdeci">Future&lt; std::list&lt; T &gt; &gt; collect(const std::list&lt; Future&lt; T &gt;&gt; &amp;futures)</div><div class="ttdef"><b>Definition:</b> collect.hpp:271</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>


[27/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/index.hhc
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/index.hhc b/content/api/latest/c++/index.hhc
index 3703251..0806d71 100644
--- a/content/api/latest/c++/index.hhc
+++ b/content/api/latest/c++/index.hhc
@@ -2783,7 +2783,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a083b4d2aea3836ecf9e029438e50c8e6"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a611253a8523cd7f23cd58f059556f7dd"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#abc18c8ede13ce1178d3cc54555082aca"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46"><param name="ImageNumber" value="11"></OBJECT>
@@ -2924,7 +2924,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~DockerVolumeIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a4b409988991161f69586ab7bfcf21729"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
@@ -2983,7 +2983,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="launchedTasks"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pendingTermination"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pid"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="queuedTaskGroups"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="queuedTaskGroups"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="queuedTasks"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="slave"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="state"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409"><param name="ImageNumber" value="11"></OBJECT>
@@ -3170,7 +3170,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="completedExecutors"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a64da4492057ddd2ed2019e737819d79b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="executors"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="info"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="pendingTaskGroups"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="pendingTaskGroups"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pendingTasks"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pid"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="slave"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866"><param name="ImageNumber" value="11"></OBJECT>
@@ -3237,7 +3237,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="connect"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#acd44076631fa55207e19b315a13cbdd3"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="extractContainerIO"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a12117c45cfd218537f0c5f562542c4f1"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="watch"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa383182ee41d05570c9e52278c073a6c"><param name="ImageNumber" value="11"></OBJECT>
@@ -3266,7 +3266,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~Launcher"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="destroy"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="fork"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="LinuxCapabilitiesIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html"><param name="ImageNumber" value="1"></OBJECT>
@@ -3286,7 +3286,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~LinuxFilesystemIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a85ae45dbb67475b64c3a40df88dd2198"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a49b32626755808558a8fc8fa5211d7e5"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a83106b699cb07d30c599824a6714c1a3"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a606b959d7291303c94149ed7924e79c6"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a6f9f2b8cd0c49afa1acfa7ea7b08406f"><param name="ImageNumber" value="11"></OBJECT>
@@ -3296,7 +3296,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~LinuxLauncher"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="destroy"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="fork"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="LoadQoSController"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LoadQoSController.html"><param name="ImageNumber" value="1"></OBJECT>
@@ -3387,7 +3387,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a2d8a7876ef8827fbbf7d997ba0614260"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a32a943445e8ff4eb60c269f35e92d19c"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646"><param name="ImageNumber" value="11"></OBJECT>
@@ -3401,7 +3401,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c"><param name="ImageNumber" value="11"></OBJECT>
@@ -3499,7 +3499,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a54854512f8a210b41c3645409f170a2e"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a4d2771d57033cea741ec6dd2bc6f738d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#aac3a4e9bacac1572ee598bf6d3a75ce4"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#ae38922e85a5082b87910c53ed3614e09"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
@@ -3561,7 +3561,7 @@
             <UL>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a7aabef75bd2d69564307ca104f99b99d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ab70ccb2d7dc7dd3377ad40f050595c61"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#aa0282cfa20e55f56feb46f7ee16b0915"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a0d99ad554385f6e1df62d211f4df20fd"><param name="ImageNumber" value="11"></OBJECT>
@@ -3648,7 +3648,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa3f941377fd4f6318825ab72f53f5aa0"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a9ffeb4eeca1ecf4f3d48eb48b058c4c9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a4a3dd38df94ce3058e3e7e46eed3a2bd"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#ac31d75dea5f56a8757d04e63989edc03"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a8fadf73d9721461120a1534ce0ebad2c"><param name="ImageNumber" value="11"></OBJECT>
@@ -3667,7 +3667,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="PosixFilesystemIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab18447801d2a94466315cf13b5380424"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#af3f9bf8dbaab5e41876e1df38eeaac92"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="flags"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a94fb86c045c622e26497587ed7b003b9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="infos"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa"><param name="ImageNumber" value="11"></OBJECT>
@@ -3677,7 +3677,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f783154e94c19084c2f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="watch"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pids"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52"><param name="ImageNumber" value="11"></OBJECT>
@@ -3757,7 +3757,7 @@
               </UL>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="Slave"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#adc334f9dc35ff066eee2fe0dfca8b8d7"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~Slave"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ad958f0e032e8ea9a49a442232df8bbd3"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="___run"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="___run"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="___statusUpdate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="__recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#adf6475e9de96ccbbe503980ae80c2978"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="__run"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f"><param name="ImageNumber" value="11"></OBJECT>
@@ -3851,7 +3851,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="SubprocessLauncher"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="destroy"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a78d11f1b1c5e22754797c76e9d42281a"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="fork"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#aa82db677460d67c6ff2fd207d0683c82"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1e1c9e6483fecc771fc6892bb602b580"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pids"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
@@ -3931,7 +3931,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~VolumeSandboxPathIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a5e1c949df5cdcd6f23879eee590cdfc1"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a858b6ce8b137c8f2b14f27ea0bd28f08"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a070e403ff6494657c5a185e87d0abd81"><param name="ImageNumber" value="11"></OBJECT>
             </UL>
@@ -3946,7 +3946,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ae9aeb71cb082870d963f4824681fb52d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af4b1ea81568c04ee32d5598aa4a61855"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a44fa211c9849d244747b1364a371cb7a"><param name="ImageNumber" value="11"></OBJECT>
@@ -3960,7 +3960,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a93e9d08b8b24219ef17d4f9830efcca0"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aad81d0700ab3197bcd3625d6f86d3ddb"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a3c461451fae95525f7adeaa4bfbd173d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="update"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#ae4e3f40213446d0e35a14811f44ecaa4"><param name="ImageNumber" value="11"></OBJECT>
@@ -4263,11 +4263,11 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MockDocker"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~MockDocker"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a685c68f87dc5987215611c11b1b8d8da"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="_inspect"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="_ps"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="_ps"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="_pull"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="_run"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="_stop"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_CONST_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_CONST_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_CONST_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#aca6f9d08e4cda820e410e89c8795fad8"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_CONST_METHOD3"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_CONST_METHOD3"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8110b9ce212299818830131c1167f197"><param name="ImageNumber" value="11"></OBJECT>
@@ -4328,7 +4328,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a1aa1b03f39c70559eb7a9bf9f2206f9f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a32bd106ba7fef3411ed7c08c8e67a947"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#aea0861279b080d0b7bf000431eda2387"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2580c890554582d691b9a40829740d93"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ad72f1f94ad46f849133cffadfd6d9c35"><param name="ImageNumber" value="11"></OBJECT>
@@ -4392,12 +4392,12 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD2"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a198bd73abe1de21b424cc9552e433a07"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD3"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4513fd374739794eb5c09252c2ff6068"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD3"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a09c6ebfb457d7b0125e0f90c23590e59"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD6"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD6"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD6"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a554636890dccfa6456f33d9c42ab145b"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD6"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a26927a366270a6ba40f7d91f36d12a8a"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD6"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a3674471b2fa4f68a43af468ce4f343f9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD7"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4245585158835727a3f21ba9f4a859c1"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="unmocked____run"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="unmocked____run"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="unmocked___recover"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae3044d22a2b9dceb14da7da0a7fe6279"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="unmocked___run"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a499a2223da3e74ef46fdc8f746615aa9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="unmocked__run"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1MockSlave.html#abb419bee97e2e2f03c6b0d2632e607d9"><param name="ImageNumber" value="11"></OBJECT>
@@ -4498,7 +4498,7 @@
             <UL>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="TestLauncher"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="~TestLauncher"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a79fd9c048b6ad3aa6ea8081da0773a37"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#ab9f58a40c5eca5e2d4759ed503021ab9"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD1"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a815118effb05f213161861a36523ee6f"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="MOCK_METHOD10"><param name="Local" value="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c"><param name="ImageNumber" value="11"></OBJECT>
@@ -5076,7 +5076,7 @@
           <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d"><param name="ImageNumber" value="11"></OBJECT>
-          <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018"><param name="ImageNumber" value="11"></OBJECT>
+          <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a"><param name="ImageNumber" value="11"></OBJECT>
@@ -6424,13 +6424,13 @@
         <UL>
         <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html"><param name="ImageNumber" value="1"></OBJECT>
           <UL>
-          <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8"><param name="ImageNumber" value="11"></OBJECT>
+          <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="~AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="initialize"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948"><param name="ImageNumber" value="11"></OBJECT>
           </UL>
         <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html"><param name="ImageNumber" value="1"></OBJECT>
           <UL>
-          <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0"><param name="ImageNumber" value="11"></OBJECT>
+          <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="~CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8"><param name="ImageNumber" value="11"></OBJECT>
           <LI><OBJECT type="text/sitemap"><param name="Name" value="initialize"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31"><param name="ImageNumber" value="11"></OBJECT>
           </UL>
@@ -8305,7 +8305,7 @@
       <LI><OBJECT type="text/sitemap"><param name="Name" value="getSocket"><param name="Local" value="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="inspect"><param name="Local" value="classDocker.html#a3be28ab0231c0fefaf839661b790c457"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="kill"><param name="Local" value="classDocker.html#a3b46502ea75be07f46e5e92acaea7917"><param name="ImageNumber" value="11"></OBJECT>
-      <LI><OBJECT type="text/sitemap"><param name="Name" value="ps"><param name="Local" value="classDocker.html#ae3d964240a23f43633d7f8c740ce246b"><param name="ImageNumber" value="11"></OBJECT>
+      <LI><OBJECT type="text/sitemap"><param name="Name" value="ps"><param name="Local" value="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="pull"><param name="Local" value="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="rm"><param name="Local" value="classDocker.html#afd1dd8dc67fd3d111164ff80f90761f4"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="run"><param name="Local" value="classDocker.html#a4c921c0018b3ca12ad726617d2938710"><param name="ImageNumber" value="11"></OBJECT>
@@ -8401,7 +8401,7 @@
       <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="put"><param name="Local" value="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="put"><param name="Local" value="classhashmap.html#a040f93efd556981326f0809e0f24f9ef"><param name="ImageNumber" value="11"></OBJECT>
-      <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e"><param name="ImageNumber" value="11"></OBJECT>
+      <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classhashmap.html#a21a6e0bdd1e079aec882826188899387"><param name="ImageNumber" value="11"></OBJECT>
       </UL>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="hashset"><param name="Local" value="classhashset.html"><param name="ImageNumber" value="1"></OBJECT>
       <UL>
@@ -8611,12 +8611,12 @@
       <LI><OBJECT type="text/sitemap"><param name="Name" value="end"><param name="Local" value="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="erase"><param name="Local" value="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="get"><param name="Local" value="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded"><param name="ImageNumber" value="11"></OBJECT>
-      <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348"><param name="ImageNumber" value="11"></OBJECT>
+      <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classLinkedHashMap.html#aeb567159da25077c2fed08221a19ab71"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="operator[]"><param name="Local" value="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760"><param name="ImageNumber" value="11"></OBJECT>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="size"><param name="Local" value="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a"><param name="ImageNumber" value="11"></OBJECT>
-      <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30"><param name="ImageNumber" value="11"></OBJECT>
+      <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9"><param name="ImageNumber" value="11"></OBJECT>
       </UL>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Microseconds"><param name="Local" value="classMicroseconds.html"><param name="ImageNumber" value="1"></OBJECT>
       <UL>
@@ -9608,12 +9608,12 @@
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; R &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; Res &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; size_t &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::list&lt; Nothing &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::list&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::list&lt; T &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::vector&lt; Nothing &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::vector&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; std::vector&lt; T &gt; &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Future&lt; zookeeper::Group::Membership &gt;"><param name="Local" value="classprocess_1_1Future.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="FutureResultAction&lt; R, A &gt;"><param name="Local" value="classFutureResultAction.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::internal::slave::GarbageCollector"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html"><param name="ImageNumber" value="1"></OBJECT>
@@ -10165,10 +10165,10 @@
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; R &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; Res &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; size_t &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::list&lt; T &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; std::vector&lt; T &gt; &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::Promise&lt; zookeeper::Group::Membership &gt;"><param name="Local" value="classprocess_1_1Promise.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::internal::cram_md5::Property"><param name="Local" value="structmesos_1_1internal_1_1cram__md5_1_1Property.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Protocol&lt; Req, Res &gt;"><param name="Local" value="structProtocol.html"><param name="ImageNumber" value="11"></OBJECT>
@@ -10926,17 +10926,17 @@
       <UL>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="id::UUID"><param name="Local" value="structid_1_1UUID.html"><param name="ImageNumber" value="11"></OBJECT>
       </UL>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="cgroups::blkio::Value"><param name="Local" value="structcgroups_1_1blkio_1_1Value.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::TimeSeries&lt; T &gt;::Value"><param name="Local" value="structprocess_1_1TimeSeries_1_1Value.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="cgroups::blkio::Value"><param name="Local" value="structcgroups_1_1blkio_1_1Value.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Jvm::Variable&lt; T, name, signature &gt;"><param name="Local" value="classJvm_1_1Variable.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::state::Variable"><param name="Local" value="classmesos_1_1state_1_1Variable.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::state::protobuf::Variable&lt; T &gt;"><param name="Local" value="classmesos_1_1state_1_1protobuf_1_1Variable.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Jvm::Variable&lt; org::apache::zookeeper::server::SessionTracker, ZOOKEEPERSERVER_SESSIONTRACKER, ZOOKEEPERSERVER_SESSIONTRACKER_SIGNATURE &gt;"><param name="Local" value="classJvm_1_1Variable.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant&lt; T, Ts &gt;"><param name="Local" value="classVariant.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant"><param name="ImageNumber" value="1"></OBJECT>
       <UL>
       <LI><OBJECT type="text/sitemap"><param name="Name" value="JSON::Value"><param name="Local" value="structJSON_1_1Value.html"><param name="ImageNumber" value="11"></OBJECT>
       </UL>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant&lt; T, Ts &gt;"><param name="Local" value="classVariant.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant&lt; check::Command, check::Http, check::Tcp &gt;"><param name="Local" value="classVariant.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant&lt; runtime::Plain, runtime::Docker, runtime::Nested &gt;"><param name="Local" value="classVariant.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="Variant&lt; unix::Address, inet4::Address, inet6::Address &gt;"><param name="Local" value="classVariant.html"><param name="ImageNumber" value="1"></OBJECT>
@@ -10957,8 +10957,8 @@
     <LI><OBJECT type="text/sitemap"><param name="Name" value="os::WindowsFD"><param name="Local" value="classos_1_1WindowsFD.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::internal::wrap&lt; T &gt;"><param name="Local" value="structprocess_1_1internal_1_1wrap.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::internal::wrap&lt; Future&lt; X &gt; &gt;"><param name="Local" value="structprocess_1_1internal_1_1wrap_3_01Future_3_01X_01_4_01_4.html"><param name="ImageNumber" value="11"></OBJECT>
-    <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::log::Log::Writer"><param name="Local" value="classmesos_1_1log_1_1Log_1_1Writer.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::http::Pipe::Writer"><param name="Local" value="classprocess_1_1http_1_1Pipe_1_1Writer.html"><param name="ImageNumber" value="11"></OBJECT>
+    <LI><OBJECT type="text/sitemap"><param name="Name" value="mesos::log::Log::Writer"><param name="Local" value="classmesos_1_1log_1_1Log_1_1Writer.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="JSON::WriterProxy"><param name="Local" value="classJSON_1_1WriterProxy.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="process::http::header::WWWAuthenticate"><param name="Local" value="classprocess_1_1http_1_1header_1_1WWWAuthenticate.html"><param name="ImageNumber" value="11"></OBJECT>
     <LI><OBJECT type="text/sitemap"><param name="Name" value="ZooKeeper"><param name="Local" value="classZooKeeper.html"><param name="ImageNumber" value="11"></OBJECT>
@@ -11319,20 +11319,20 @@
               <UL>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html"><param name="ImageNumber" value="1"></OBJECT>
                 <UL>
-                <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0"><param name="ImageNumber" value="11"></OBJECT>
+                <LI><OBJECT type="text/sitemap"><param name="Name" value="CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="~CollectProcess"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#aef71c5f6f3c016b544805111417573a8"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="initialize"><param name="Local" value="classprocess_1_1internal_1_1CollectProcess.html#a6e13d430bd37e93903d3f0b4201b8e31"><param name="ImageNumber" value="11"></OBJECT>
                 </UL>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html"><param name="ImageNumber" value="1"></OBJECT>
                 <UL>
-                <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8"><param name="ImageNumber" value="11"></OBJECT>
+                <LI><OBJECT type="text/sitemap"><param name="Name" value="AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="~AwaitProcess"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#ae5d9fc849ff751871f9e476491c4ff15"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="initialize"><param name="Local" value="classprocess_1_1internal_1_1AwaitProcess.html#a8121fadd91f2221a673d4e711f22c948"><param name="ImageNumber" value="11"></OBJECT>
                 </UL>
-              <LI><OBJECT type="text/sitemap"><param name="Name" value="await"><param name="Local" value="collect_8hpp.html#a9244f063b856adbc7182f8620b01034c"><param name="ImageNumber" value="11"></OBJECT>
+              <LI><OBJECT type="text/sitemap"><param name="Name" value="await"><param name="Local" value="collect_8hpp.html#a4e2dd66121c628a77b57766a7a276838"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="await"><param name="Local" value="collect_8hpp.html#a798bdf13d396404bbf4cd7bb9d25c62c"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="await"><param name="Local" value="collect_8hpp.html#a9d64abf575bde6dc82f9d915b33743c8"><param name="ImageNumber" value="11"></OBJECT>
-              <LI><OBJECT type="text/sitemap"><param name="Name" value="collect"><param name="Local" value="collect_8hpp.html#a0f89a937c1caa20e3048e16aeb0c9736"><param name="ImageNumber" value="11"></OBJECT>
+              <LI><OBJECT type="text/sitemap"><param name="Name" value="collect"><param name="Local" value="collect_8hpp.html#a871061d70cd1c8bf39df4d1154cd1857"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="collect"><param name="Local" value="collect_8hpp.html#a6f599ec39a0b29f140d3556dda0940f7"><param name="ImageNumber" value="11"></OBJECT>
               </UL>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="count_down_latch.hpp"><param name="Local" value="count__down__latch_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
@@ -15211,7 +15211,7 @@
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="put"><param name="Local" value="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="put"><param name="Local" value="classhashmap.html#a040f93efd556981326f0809e0f24f9ef"><param name="ImageNumber" value="11"></OBJECT>
-                <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e"><param name="ImageNumber" value="11"></OBJECT>
+                <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classhashmap.html#a21a6e0bdd1e079aec882826188899387"><param name="ImageNumber" value="11"></OBJECT>
                 </UL>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="operator&lt;&lt;"><param name="Local" value="hashmap_8hpp.html#a9c94b6ec332534717bbc65377844a9fb"><param name="ImageNumber" value="11"></OBJECT>
               </UL>
@@ -15703,12 +15703,12 @@
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="end"><param name="Local" value="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="erase"><param name="Local" value="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="get"><param name="Local" value="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded"><param name="ImageNumber" value="11"></OBJECT>
-                <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348"><param name="ImageNumber" value="11"></OBJECT>
+                <LI><OBJECT type="text/sitemap"><param name="Name" value="keys"><param name="Local" value="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classLinkedHashMap.html#aeb567159da25077c2fed08221a19ab71"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="operator[]"><param name="Local" value="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760"><param name="ImageNumber" value="11"></OBJECT>
                 <LI><OBJECT type="text/sitemap"><param name="Name" value="size"><param name="Local" value="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a"><param name="ImageNumber" value="11"></OBJECT>
-                <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30"><param name="ImageNumber" value="11"></OBJECT>
+                <LI><OBJECT type="text/sitemap"><param name="Name" value="values"><param name="Local" value="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9"><param name="ImageNumber" value="11"></OBJECT>
                 </UL>
               </UL>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="mac.hpp"><param name="Local" value="mac_8hpp.html"><param name="ImageNumber" value="1"></OBJECT>
@@ -16984,7 +16984,7 @@
               <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d"><param name="ImageNumber" value="11"></OBJECT>
-              <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018"><param name="ImageNumber" value="11"></OBJECT>
+              <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570"><param name="ImageNumber" value="11"></OBJECT>
               <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a"><param name="ImageNumber" value="11"></OBJECT>
@@ -18838,7 +18838,7 @@
             <LI><OBJECT type="text/sitemap"><param name="Name" value="getSocket"><param name="Local" value="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="inspect"><param name="Local" value="classDocker.html#a3be28ab0231c0fefaf839661b790c457"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="kill"><param name="Local" value="classDocker.html#a3b46502ea75be07f46e5e92acaea7917"><param name="ImageNumber" value="11"></OBJECT>
-            <LI><OBJECT type="text/sitemap"><param name="Name" value="ps"><param name="Local" value="classDocker.html#ae3d964240a23f43633d7f8c740ce246b"><param name="ImageNumber" value="11"></OBJECT>
+            <LI><OBJECT type="text/sitemap"><param name="Name" value="ps"><param name="Local" value="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="pull"><param name="Local" value="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="rm"><param name="Local" value="classDocker.html#afd1dd8dc67fd3d111164ff80f90761f4"><param name="ImageNumber" value="11"></OBJECT>
             <LI><OBJECT type="text/sitemap"><param name="Name" value="run"><param name="Local" value="classDocker.html#a4c921c0018b3ca12ad726617d2938710"><param name="ImageNumber" value="11"></OBJECT>
@@ -22193,7 +22193,7 @@
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="connect"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#acd44076631fa55207e19b315a13cbdd3"><param name="ImageNumber" value="11"></OBJECT>
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="extractContainerIO"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a12117c45cfd218537f0c5f562542c4f1"><param name="ImageNumber" value="11"></OBJECT>
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc"><param name="ImageNumber" value="11"></OBJECT>
-                  <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18"><param name="ImageNumber" value="11"></OBJECT>
+                  <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a"><param name="ImageNumber" value="11"></OBJECT>
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a"><param name="ImageNumber" value="11"></OBJECT>
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375"><param name="ImageNumber" value="11"></OBJECT>
                   <LI><OBJECT type="text/sitemap"><param name="Name" value="watch"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa383182ee41d05570c9e52278c073a6c"><param name="ImageNumber" value="11"></OBJECT>
@@ -22390,7 +22390,7 @@
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a083b4d2aea3836ecf9e029438e50c8e6"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="isolate"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae"><param name="ImageNumber" value="11"></OBJECT>
-                    <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e"><param name="ImageNumber" value="11"></OBJECT>
+                    <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="status"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a611253a8523cd7f23cd58f059556f7dd"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#abc18c8ede13ce1178d3cc54555082aca"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46"><param name="ImageNumber" value="11"></OBJECT>
@@ -22475,7 +22475,7 @@
                       <LI><OBJECT type="text/sitemap"><param name="Name" value="~DockerVolumeIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a4b409988991161f69586ab7bfcf21729"><param name="ImageNumber" value="11"></OBJECT>
                       <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0"><param name="ImageNumber" value="11"></OBJECT>
                       <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39"><param name="ImageNumber" value="11"></OBJECT>
-                      <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934"><param name="ImageNumber" value="11"></OBJECT>
+                      <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb"><param name="ImageNumber" value="11"></OBJECT>
                       <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsNesting"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683"><param name="ImageNumber" value="11"></OBJECT>
                       <LI><OBJECT type="text/sitemap"><param name="Name" value="supportsStandalone"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95"><param name="ImageNumber" value="11"></OBJECT>
                       </UL>
@@ -22516,7 +22516,7 @@
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="~LinuxFilesystemIsolatorProcess"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a85ae45dbb67475b64c3a40df88dd2198"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="cleanup"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a49b32626755808558a8fc8fa5211d7e5"><param name="ImageNumber" value="11"></OBJECT>
                     <LI><OBJECT type="text/sitemap"><param name="Name" value="prepare"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594"><param name="ImageNumber" value="11"></OBJECT>
-                    <LI><OBJECT type="text/sitemap"><param name="Name" value="recover"><param name="Local" value="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><param name="ImageNumber" value="11"></OBJECT>
+                    <LI><OBJECT type="text/sitemap"><param name="Name" value="rec

<TRUNCATED>

[37/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/cni_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/cni_8hpp_source.html b/content/api/latest/c++/cni_8hpp_source.html
index 055ab09..2f66264 100644
--- a/content/api/latest/c++/cni_8hpp_source.html
+++ b/content/api/latest/c++/cni_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">cni.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="cni_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class="
 lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed u
 nder the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __NETWORK_CNI_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __NETWORK_CNI_ISOLATOR_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subcommand_8hpp.html">stout/subcommand.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8
 hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2network_2cni_2spec_8hpp.html">slave/containerizer/mesos/isolators/network/cni/spec.hpp</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2isolators_2network_2cni_2paths_8hpp.html">slave/container
 izer/mesos/isolators/network/cni/paths.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>NetworkCniIsolatorSetup;
 </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// This isolator implements support for Container Network Interface (CNI)</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// specification &lt;https://github.com/appc/cni/blob/master/SPEC.md&gt; . It</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// provides network isolation to containers by creating a network namespace</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// for each container, and then adding the container to the CNI network</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#1
 60;<span class="comment">// specified in the NetworkInfo for the container. It adds the container to</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// a CNI network by using CNI plugins specified by the operator for the</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// corresponding CNI network.</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">   47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">NetworkCniIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</
 div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a12a31bdd9d873ebe68c492c1eea562de">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5cb876e852d66514a64562bf46cc92c4">   52</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1inte
 rnal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5cb876e852d66514a64562bf46cc92c4">~NetworkCniIsolatorProcess</a>() {}</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#ae38922e85a5082b87910c53ed3614e09">supportsNesting</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">recover</a>(</div><div class="line"><a name="l00057"></a><span class="lin
 eno">   57</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">prepare</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"><
 /a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a4d2771d57033cea741ec6dd2bc6f738d">isolate</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00067"></a><span class="lineno"> 
   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#aac3a4e9bacac1572ee598bf6d3a75ce4">status</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a54854512f8a210b41c3645409f170a2e">cleanup</a>(</div><div class="line"><a name="l00072"></a><
 span class="lineno">   72</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">struct </span>ContainerNetwork</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="comment">// CNI network name.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    std::string networkName;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="comment">// Interface na
 me.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    std::string ifName;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// NetworkInfo copied from the ExecutorInfo.containerInfo.network_infos</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="comment">// in &#39;prepare()&#39; and &#39;_recover()&#39;.</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="classOption.html">Option&lt;mesos::NetworkInfo&gt;</a> networkInfo;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="comment">// Protobuf of CNI network information returned by CNI plugin.</span>
 </div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="classOption.html">Option&lt;cni::spec::NetworkInfo&gt;</a> cniNetworkInfo;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  };</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    Info (<span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerNetwork&gt;</a>&amp; _containerNetworks,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::s
 tring&gt;</a>&amp; _rootfs = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _hostname = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          <span class="keywordtype">bool</span> _joinsParentsNetwork = <span class="keyword">false</span>)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      : containerNetworks (_containerNetworks),</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        rootfs(_rootfs),</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <a class="code" href="namespacenet.html#a28018530986e91a179ea6239fdf0a447">hostname</a>(_hostname),</div><div class="line"><a name=
 "l00100"></a><span class="lineno">  100</span>&#160;        joinsParentsNetwork(_joinsParentsNetwork) {}</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">// CNI network information keyed by network name.</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">// NOTE: For nested containers, since the container shares the</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="comment">// network namespace with the root container of its hierarchy,</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="comment">// this should simply be a copy of the `containerNetwork
 s` of its</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="comment">// root container.</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerNetwork&gt;</a> containerNetworks;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">// Rootfs of the container file system. In case the container uses</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="comment">// the host file system, this will be `None`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> rootfs;</div><div class="lin
 e"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="namespacenet.html#a28018530986e91a179ea6239fdf0a447">hostname</a>;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> joinsParentsNetwork;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  };</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="comment">// Reads each CNI config present in `configDir`, validates if the</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">// `plugin` 
 is present in the search path associated with</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// `pluginDir` and adds the CNI network config to `networkConfigs`</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// if the validation passes. If there is an error while reading the</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// CNI config, or if the plugin is not found, we log an error and the</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// CNI network config is not added to `networkConfigs`.</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;hashmap&lt;std::string, std::string&gt;</a>&gt; loadNetworkCon
 figs(</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> std::string&amp; configDir,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">const</span> std::string&amp; pluginDir);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">NetworkCniIsolatorProcess</a>(</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::
 string, std::string&gt;</a>&amp; _networkConfigs,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerDNSInfo::MesosInfo&gt;</a>&amp; _cniDNSMap,</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ContainerDNSInfo::MesosInfo&gt;</a>&amp; _defaultCniDNS = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _rootDir = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.htm
 l">Option&lt;std::string&gt;</a>&amp; _pluginDir = <a class="code" href="structNone.html">None</a>())</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&quot;mesos-network-cni-isolator&quot;</span>)),</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      flags(_flags),</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      networkConfigs(_networkConfigs),</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      cniDNSMap(_cniDNSMap),</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      defaultCniDNS(_defaultCniDNS),</div><div class="line"><a name="l00140"></a><span clas
 s="lineno">  140</span>&#160;      rootDir(_rootDir),</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      pluginDir(_pluginDir) {}</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _isolate(</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid,</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697
 dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; attaches);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __isolate(</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html">NetworkCniIsolatorSetup</a>&amp; setup);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> _recover(</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class=
 "keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerState&gt;</a>&amp; state = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> attach(</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span cl
 ass="keyword">const</span> std::string&amp; netNsHandle);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _attach(</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class="keyword">const</span> std::string&amp; plugin,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <span class="keyword">const</span> std::tuple&lt;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#
 160;          <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; t);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> detach(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00171"></a><
 span class="lineno">  171</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _detach(</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> std::string&amp; plugin,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <span class="keyword">const</span> std::tuple&lt;</div><div class="line"><a n
 ame="l00178"></a><span class="lineno">  178</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; t);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> ContainerID&amp; cont
 ainerId,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; detaches);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="comment">// Searches the `networkConfigs` hashmap for a CNI network. If the</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">// hashmap doesn&#39;t contain the network, will try to load all the CNI</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">// configs from `flags.network_cni_config_dir`, and will then</span></div><div class="line">
 <a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="comment">// perform another search of the `networkConfigs` hashmap to see if</span></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="comment">// the missing network was present on disk.</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <a class="code" href="classTry.html">Try&lt;JSON::Object&gt;</a> getNetworkConfigJSON(<span class="keyword">const</span> std::string&amp; network);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="comment">// Given a network name and the path for the CNI network</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="comment">// configuration file, reads the file, parses the JSON and</span></div><div class="li
 ne"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="comment">// validates the name of the network to which this configuration</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="comment">// file belongs.</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <a class="code" href="classTry.html">Try&lt;JSON::Object&gt;</a> getNetworkConfigJSON(</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <span class="keyword">const</span> std::string&amp; network,</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keyword"
 >const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// A map storing the path to CNI network configuration files keyed</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="comment">// by the network name.</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a> networkConfigs;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">// DNS informations of CNI networks keyed by CNI network name.</span></div><div class="line"><a name="l00208"></a><sp
 an class="lineno">  208</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerDNSInfo::MesosInfo&gt;</a> cniDNSMap;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="comment">// Default DNS information for all CNI networks.</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ContainerDNSInfo::MesosInfo&gt;</a> defaultCniDNS;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="comment">// CNI network information root directory.</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keyword">const</span> <a class="code" hr
 ef="classOption.html">Option&lt;std::string&gt;</a> rootDir;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="comment">// CNI plugins directory.</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> pluginDir;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">// Information of CNI networks that each container joins.</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00221"></a><span class="lineno
 ">  221</span>&#160;};</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">// A subcommand to setup container hostname and mount the hosts,</span></div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">// resolv.conf and hostname from the host file system into the</span></div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">// container&#39;s file system.  The hostname needs to be setup in the</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="comment">// container&#39;s UTS namespace, and the files need to be bind mounted in</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<
 span class="comment">// the container&#39;s mnt namespace.</span></div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html">  229</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html">NetworkCniIsolatorSetup</a> : <span class="keyword">public</span> <a class="code" href="classSubcommand.html">Subcommand</a></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#a08701ae426a20e5f13f4a4996c146bb3">  232</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype
 ">char</span>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#a08701ae426a20e5f13f4a4996c146bb3">NAME</a>;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">  234</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">Flags</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  {</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">Flags</a>();</div><
 div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#af126df40a2701d5f9af197b739707faf">  238</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#af126df40a2701d5f9af197b739707faf">pid</a>;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a064b784c19753d64ba05cc9e237bbe95">  239</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a064b784c19753d64ba05cc9e237bbe95">hostname</a>;</div><div class="line"><a name="l00240"></a><span class=
 "lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a792e873bae0fe54efee978120acb69fa">  240</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a792e873bae0fe54efee978120acb69fa">rootfs</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a5b39398b8277620eadce2c6799585c5c">  241</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a5b39398b8277620eadce2c6799585c5c">etc_hosts_path</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#ad4fb436bb59e6
 78ca7121740608cd478">  242</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#ad4fb436bb59e678ca7121740608cd478">etc_hostname_path</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a4f8462d186e873b26b40c767f15cf6a5">  243</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a4f8462d186e873b26b40c767f15cf6a5">etc_resolv_conf</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#ad773b1f2abf19b8e241c8e5ee6ed4df3">  244</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="
 structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#ad773b1f2abf19b8e241c8e5ee6ed4df3">bind_host_files</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#aa8e1aa95039b355c2f6dff0efd45e959">  245</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#aa8e1aa95039b355c2f6dff0efd45e959">bind_readonly</a>;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  };</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#a97b960ca59cacb4f3ad6f43e6fd8bc38">  248</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolator
 Setup.html#a97b960ca59cacb4f3ad6f43e6fd8bc38">NetworkCniIsolatorSetup</a>() : <a class="code" href="classSubcommand.html">Subcommand</a>(NAME) {}</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#abc7e1f0ba2294714bbec61bdfcd625b3">  250</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">Flags</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#abc7e1f0ba2294714bbec61bdfcd625b3">flags</a>;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keyword">virt
 ual</span> <span class="keywordtype">int</span> <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1526213546914662d7a58263f68d11bc">execute</a>();</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#ace4821b9d55c795a74e09b8d1dd07d6e">  254</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#ace4821b9d55c795a74e09b8d1dd07d6e">getFlags</a>() { <span class="keywordflow">return</span> &amp;flags; }</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;};</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="l
 ine"><a name="l00258"></a><span class="lineno">  258</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#endif // __NETWORK_CNI_ISOLATOR_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<a href="cni_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class="
 lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed u
 nder the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __NETWORK_CNI_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __NETWORK_CNI_ISOLATOR_HPP__</span></div><div class="l
 ine"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subcommand_8hpp.html">stout/subcommand.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8
 hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2network_2cni_2spec_8hpp.html">slave/containerizer/mesos/isolators/network/cni/spec.hpp</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2isolators_2network_2cni_2paths_8hpp.html">slave/container
 izer/mesos/isolators/network/cni/paths.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>NetworkCniIsolatorSetup;
 </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// This isolator implements support for Container Network Interface (CNI)</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// specification &lt;https://github.com/appc/cni/blob/master/SPEC.md&gt; . It</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// provides network isolation to containers by creating a network namespace</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// for each container, and then adding the container to the CNI network</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#1
 60;<span class="comment">// specified in the NetworkInfo for the container. It adds the container to</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// a CNI network by using CNI plugins specified by the operator for the</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// corresponding CNI network.</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">   47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">NetworkCniIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</
 div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a12a31bdd9d873ebe68c492c1eea562de">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5cb876e852d66514a64562bf46cc92c4">   52</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1inte
 rnal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5cb876e852d66514a64562bf46cc92c4">~NetworkCniIsolatorProcess</a>() {}</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#ae38922e85a5082b87910c53ed3614e09">supportsNesting</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">recover</a>(</div><div class="line"><a name="l00057"></a><span class="lin
 eno">   57</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">prepare</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"
 ></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a4d2771d57033cea741ec6dd2bc6f738d">isolate</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00067"></a><span class="lineno"
 >   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#aac3a4e9bacac1572ee598bf6d3a75ce4">status</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a54854512f8a210b41c3645409f170a2e">cleanup</a>(</div><div class="line"><a name="l00072"></a
 ><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">struct </span>ContainerNetwork</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="comment">// CNI network name.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    std::string networkName;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="comment">// Interface 
 name.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    std::string ifName;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// NetworkInfo copied from the ExecutorInfo.containerInfo.network_infos</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="comment">// in &#39;prepare()&#39; and &#39;_recover()&#39;.</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="classOption.html">Option&lt;mesos::NetworkInfo&gt;</a> networkInfo;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="comment">// Protobuf of CNI network information returned by CNI plugin.</spa
 n></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="classOption.html">Option&lt;cni::spec::NetworkInfo&gt;</a> cniNetworkInfo;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  };</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    Info (<span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerNetwork&gt;</a>&amp; _containerNetworks,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std:
 :string&gt;</a>&amp; _rootfs = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _hostname = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          <span class="keywordtype">bool</span> _joinsParentsNetwork = <span class="keyword">false</span>)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      : containerNetworks (_containerNetworks),</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        rootfs(_rootfs),</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <a class="code" href="namespacenet.html#a28018530986e91a179ea6239fdf0a447">hostname</a>(_hostname),</div><div class="line"><a nam
 e="l00100"></a><span class="lineno">  100</span>&#160;        joinsParentsNetwork(_joinsParentsNetwork) {}</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">// CNI network information keyed by network name.</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">// NOTE: For nested containers, since the container shares the</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="comment">// network namespace with the root container of its hierarchy,</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="comment">// this should simply be a copy of the `containerNetwo
 rks` of its</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="comment">// root container.</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerNetwork&gt;</a> containerNetworks;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">// Rootfs of the container file system. In case the container uses</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="comment">// the host file system, this will be `None`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> rootfs;</div><div class="l
 ine"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="namespacenet.html#a28018530986e91a179ea6239fdf0a447">hostname</a>;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> joinsParentsNetwork;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  };</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="comment">// Reads each CNI config present in `configDir`, validates if the</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">// `plugin
 ` is present in the search path associated with</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// `pluginDir` and adds the CNI network config to `networkConfigs`</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// if the validation passes. If there is an error while reading the</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// CNI config, or if the plugin is not found, we log an error and the</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// CNI network config is not added to `networkConfigs`.</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;hashmap&lt;std::string, std::string&gt;</a>&gt; loadNetworkC
 onfigs(</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> std::string&amp; configDir,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">const</span> std::string&amp; pluginDir);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">NetworkCniIsolatorProcess</a>(</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std
 ::string, std::string&gt;</a>&amp; _networkConfigs,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerDNSInfo::MesosInfo&gt;</a>&amp; _cniDNSMap,</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ContainerDNSInfo::MesosInfo&gt;</a>&amp; _defaultCniDNS = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _rootDir = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.h
 tml">Option&lt;std::string&gt;</a>&amp; _pluginDir = <a class="code" href="structNone.html">None</a>())</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a>(<span class="stringliteral">&quot;mesos-network-cni-isolator&quot;</span>)),</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      flags(_flags),</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      networkConfigs(_networkConfigs),</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      cniDNSMap(_cniDNSMap),</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      defaultCniDNS(_defaultCniDNS),</div><div class="line"><a name="l00140"></a><span cl
 ass="lineno">  140</span>&#160;      rootDir(_rootDir),</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      pluginDir(_pluginDir) {}</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _isolate(</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid,</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">proces
 s::Future&lt;Nothing&gt;</a>&gt;&amp; attaches);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __isolate(</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html">NetworkCniIsolatorSetup</a>&amp; setup);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> _recover(</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l0015
 3"></a><span class="lineno">  153</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerState&gt;</a>&amp; state = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> attach(</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> std::string&amp; netNsHandle);</div><div class="line"><a name="
 l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _attach(</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class="keyword">const</span> std::string&amp; plugin,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <span class="keyword">const</span> std::tuple&lt;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a
  class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; t);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> detach(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <span class="keyword">const</span> std::string
 &amp; networkName);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _detach(</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="keyword">const</span> std::string&amp; networkName,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> std::string&amp; plugin,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <span class="keyword">const</span> std::tuple&lt;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;          <a class="code" href="cl
 assprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; t);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#16
 0;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; detaches);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="comment">// Searches the `networkConfigs` hashmap for a CNI network. If the</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">// hashmap doesn&#39;t contain the network, will try to load all the CNI</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">// configs from `flags.network_cni_config_dir`, and will then</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="comment">// perform another search of the `networkConfigs` hashmap to see if</span></div><div class="line">
 <a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="comment">// the missing network was present on disk.</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <a class="code" href="classTry.html">Try&lt;JSON::Object&gt;</a> getNetworkConfigJSON(<span class="keyword">const</span> std::string&amp; network);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="comment">// Given a network name and the path for the CNI network</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="comment">// configuration file, reads the file, parses the JSON and</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="comment">// validates the name of the network to which this configuration</span></div><div class="line"
 ><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="comment">// file belongs.</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <a class="code" href="classTry.html">Try&lt;JSON::Object&gt;</a> getNetworkConfigJSON(</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <span class="keyword">const</span> std::string&amp; network,</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160
 ;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// A map storing the path to CNI network configuration files keyed</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="comment">// by the network name.</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a> networkConfigs;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">// DNS informations of CNI networks keyed by CNI network name.</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, ContainerDNSInfo::MesosInfo&gt;</a> cniDNSMap;</div><div class="line"><a name="
 l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="comment">// Default DNS information for all CNI networks.</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ContainerDNSInfo::MesosInfo&gt;</a> defaultCniDNS;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="comment">// CNI network information root directory.</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> rootDir;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l0021
 6"></a><span class="lineno">  216</span>&#160;  <span class="comment">// CNI plugins directory.</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> pluginDir;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">// Information of CNI networks that each container joins.</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;};</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</spa
 n>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">// A subcommand to setup container hostname and mount the hosts,</span></div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">// resolv.conf and hostname from the host file system into the</span></div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">// container&#39;s file system.  The hostname needs to be setup in the</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="comment">// container&#39;s UTS namespace, and the files need to be bind mounted in</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">// the container&#39;s mnt namespace.</span></div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1sla
 ve_1_1NetworkCniIsolatorSetup.html">  229</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html">NetworkCniIsolatorSetup</a> : <span class="keyword">public</span> <a class="code" href="classSubcommand.html">Subcommand</a></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#a08701ae426a20e5f13f4a4996c146bb3">  232</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup.html#a08701ae426a20e5f13f4a4996c146bb3">NAME</a>;</div><div class="line"><a name="l002
 33"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">  234</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">Flags</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  {</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">Flags</a>();</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structmesos_1_1in
 ternal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#af126df40a2701d5f9af197b739707faf">  238</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#af126df40a2701d5f9af197b739707faf">pid</a>;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a064b784c19753d64ba05cc9e237bbe95">  239</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a064b784c19753d64ba05cc9e237bbe95">hostname</a>;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a792e873bae0fe54efee978120acb69fa">  240</a></span>&#160;    <a class="code" 
 href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a792e873bae0fe54efee978120acb69fa">rootfs</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a5b39398b8277620eadce2c6799585c5c">  241</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a5b39398b8277620eadce2c6799585c5c">etc_hosts_path</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#ad4fb436bb59e678ca7121740608cd478">  242</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1Network
 CniIsolatorSetup_1_1Flags.html#ad4fb436bb59e678ca7121740608cd478">etc_hostname_path</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a4f8462d186e873b26b40c767f15cf6a5">  243</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html#a4f8462d186e873b26b40c767f15cf6a5">etc_resolv_conf</a>;</div><div class="line"><a name="l0

<TRUNCATED>

[46/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
Updated the website built from mesos SHA: a52e528.


Project: http://git-wip-us.apache.org/repos/asf/mesos-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos-site/commit/e42c5d57
Tree: http://git-wip-us.apache.org/repos/asf/mesos-site/tree/e42c5d57
Diff: http://git-wip-us.apache.org/repos/asf/mesos-site/diff/e42c5d57

Branch: refs/heads/asf-site
Commit: e42c5d57ec6af90acea3e57bd89a7f5e7f35590f
Parents: 9381215
Author: jenkins <bu...@apache.org>
Authored: Thu May 31 03:12:11 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Thu May 31 03:12:11 2018 +0000

----------------------------------------------------------------------
 ...include_2process_2metrics_2metrics_8hpp.html |   1 +
 ..._2process_2metrics_2metrics_8hpp_source.html |   5 +-
 content/api/latest/c++/Nodes.xml                | 180 +++++++++----------
 content/api/latest/c++/Tokens.xml               | 149 +++++++++------
 content/api/latest/c++/classDocker-members.html |   2 +-
 content/api/latest/c++/classDocker.html         |   8 +-
 .../latest/c++/classLinkedHashMap-members.html  |   4 +-
 content/api/latest/c++/classLinkedHashMap.html  |  16 +-
 content/api/latest/c++/classes.html             |   8 +-
 .../api/latest/c++/classhashmap-members.html    |   2 +-
 content/api/latest/c++/classhashmap.html        |   8 +-
 ...e_1_1AppcRuntimeIsolatorProcess-members.html |   2 +-
 ..._1_1slave_1_1AppcRuntimeIsolatorProcess.html |   4 +-
 ...slave_1_1CgroupsIsolatorProcess-members.html |   2 +-
 ...rnal_1_1slave_1_1CgroupsIsolatorProcess.html |  10 +-
 ...1_1DockerRuntimeIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1DockerRuntimeIsolatorProcess.html |   4 +-
 ..._1_1DockerVolumeIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1DockerVolumeIsolatorProcess.html |  10 +-
 ...nvironmentSecretIsolatorProcess-members.html |   2 +-
 ...ave_1_1EnvironmentSecretIsolatorProcess.html |   4 +-
 ..._1internal_1_1slave_1_1Executor-members.html |   2 +-
 ...smesos_1_1internal_1_1slave_1_1Executor.html |   8 +-
 ...1internal_1_1slave_1_1Framework-members.html |   2 +-
 ...mesos_1_1internal_1_1slave_1_1Framework.html |   8 +-
 ...ernal_1_1slave_1_1IOSwitchboard-members.html |   2 +-
 ...s_1_1internal_1_1slave_1_1IOSwitchboard.html |  10 +-
 ..._1internal_1_1slave_1_1Launcher-members.html |   2 +-
 ...smesos_1_1internal_1_1slave_1_1Launcher.html |  10 +-
 ...inuxCapabilitiesIsolatorProcess-members.html |   2 +-
 ...ave_1_1LinuxCapabilitiesIsolatorProcess.html |   4 +-
 ..._1_1LinuxDevicesIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1LinuxDevicesIsolatorProcess.html |   4 +-
 ...1LinuxFilesystemIsolatorProcess-members.html |   2 +-
 ...slave_1_1LinuxFilesystemIsolatorProcess.html |  10 +-
 ...ernal_1_1slave_1_1LinuxLauncher-members.html |   2 +-
 ...s_1_1internal_1_1slave_1_1LinuxLauncher.html |  10 +-
 ...ernal_1_1slave_1_1MesosIsolator-members.html |   4 +-
 ...s_1_1internal_1_1slave_1_1MesosIsolator.html |  12 +-
 ..._1slave_1_1MesosIsolatorProcess-members.html |   2 +-
 ...ternal_1_1slave_1_1MesosIsolatorProcess.html |  12 +-
 ...1_1NamespacesIPCIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1NamespacesIPCIsolatorProcess.html |   4 +-
 ...1_1NamespacesPidIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1NamespacesPidIsolatorProcess.html |   4 +-
 ...ve_1_1NetworkCniIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1NetworkCniIsolatorProcess.html |  10 +-
 ..._1_1NetworkPortsIsolatorProcess-members.html |  47 ++---
 ...1_1slave_1_1NetworkPortsIsolatorProcess.html |   4 +-
 ...ave_1_1NvidiaGpuIsolatorProcess-members.html |   2 +-
 ...al_1_1slave_1_1NvidiaGpuIsolatorProcess.html |  10 +-
 ...e_1_1PortMappingIsolatorProcess-members.html |  47 ++---
 ..._1_1slave_1_1PortMappingIsolatorProcess.html |   4 +-
 ...lave_1_1PosixCpuIsolatorProcess-members.html |   2 +-
 ...nal_1_1slave_1_1PosixCpuIsolatorProcess.html |   4 +-
 ...ave_1_1PosixDiskIsolatorProcess-members.html |   2 +-
 ...al_1_1slave_1_1PosixDiskIsolatorProcess.html |  10 +-
 ...1PosixFilesystemIsolatorProcess-members.html |   2 +-
 ...slave_1_1PosixFilesystemIsolatorProcess.html |  10 +-
 ..._1slave_1_1PosixIsolatorProcess-members.html |   2 +-
 ...ternal_1_1slave_1_1PosixIsolatorProcess.html |  10 +-
 ...lave_1_1PosixMemIsolatorProcess-members.html |   2 +-
 ...nal_1_1slave_1_1PosixMemIsolatorProcess.html |   4 +-
 ..._1_1PosixRLimitsIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1PosixRLimitsIsolatorProcess.html |   4 +-
 ...SharedFilesystemIsolatorProcess-members.html |   2 +-
 ...lave_1_1SharedFilesystemIsolatorProcess.html |   4 +-
 ...s_1_1internal_1_1slave_1_1Slave-members.html |   2 +-
 ...lassmesos_1_1internal_1_1slave_1_1Slave.html |  10 +-
 ..._1_1slave_1_1SubprocessLauncher-members.html |   2 +-
 ...internal_1_1slave_1_1SubprocessLauncher.html |  10 +-
 ..._1VolumeHostPathIsolatorProcess-members.html |   2 +-
 ...1slave_1_1VolumeHostPathIsolatorProcess.html |   4 +-
 ...e_1_1VolumeImageIsolatorProcess-members.html |   2 +-
 ..._1_1slave_1_1VolumeImageIsolatorProcess.html |   4 +-
 ...olumeSandboxPathIsolatorProcess-members.html |   2 +-
 ...ave_1_1VolumeSandboxPathIsolatorProcess.html |  10 +-
 ..._1_1VolumeSecretIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1VolumeSecretIsolatorProcess.html |   4 +-
 ...ve_1_1WindowsCpuIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1WindowsCpuIsolatorProcess.html |  10 +-
 ...indowsFilesystemIsolatorProcess-members.html |   2 +-
 ...ave_1_1WindowsFilesystemIsolatorProcess.html |   4 +-
 ...ve_1_1WindowsMemIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1WindowsMemIsolatorProcess.html |  10 +-
 ...slave_1_1XfsDiskIsolatorProcess-members.html |  47 ++---
 ...rnal_1_1slave_1_1XfsDiskIsolatorProcess.html |   4 +-
 ...internal_1_1tests_1_1MockDocker-members.html |   6 +-
 ...esos_1_1internal_1_1tests_1_1MockDocker.html |  22 +--
 ...ternal_1_1tests_1_1MockIsolator-members.html |   4 +-
 ...os_1_1internal_1_1tests_1_1MockIsolator.html |  14 +-
 ...1internal_1_1tests_1_1MockSlave-members.html |   6 +-
 ...mesos_1_1internal_1_1tests_1_1MockSlave.html |  24 +--
 ...ternal_1_1tests_1_1TestLauncher-members.html |   4 +-
 ...os_1_1internal_1_1tests_1_1TestLauncher.html |  14 +-
 ...classmesos_1_1slave_1_1Isolator-members.html |   2 +-
 .../c++/classmesos_1_1slave_1_1Isolator.html    |   8 +-
 ...classprocess_1_1http_1_1Headers-members.html |   2 +-
 .../c++/classprocess_1_1http_1_1Headers.html    |   4 +-
 ...ess_1_1internal_1_1AwaitProcess-members.html |   2 +-
 ...lassprocess_1_1internal_1_1AwaitProcess.html |  10 +-
 ...s_1_1internal_1_1CollectProcess-members.html |   2 +-
 ...ssprocess_1_1internal_1_1CollectProcess.html |  10 +-
 content/api/latest/c++/cni_8hpp_source.html     |   5 +-
 content/api/latest/c++/collect_8hpp.html        |  14 +-
 content/api/latest/c++/collect_8hpp_source.html |  17 +-
 content/api/latest/c++/docker_2docker_8hpp.html |   4 +-
 .../latest/c++/docker_2docker_8hpp_source.html  |   4 +-
 .../c++/filesystem_2posix_8hpp_source.html      |   4 +-
 content/api/latest/c++/functions.html           |   4 +-
 content/api/latest/c++/functions_a.html         |   2 +-
 content/api/latest/c++/functions_c.html         |   2 +-
 content/api/latest/c++/functions_func.html      |   4 +-
 content/api/latest/c++/functions_func_a.html    |   2 +-
 content/api/latest/c++/functions_func_c.html    |   2 +-
 content/api/latest/c++/functions_func_k.html    |   2 +-
 content/api/latest/c++/functions_func_m.html    |   4 +-
 content/api/latest/c++/functions_func_n.html    |  10 +-
 content/api/latest/c++/functions_func_p.html    |   4 +-
 content/api/latest/c++/functions_func_r.html    |  38 ++--
 content/api/latest/c++/functions_func_t.html    |   2 +-
 content/api/latest/c++/functions_func_u.html    |   2 +-
 content/api/latest/c++/functions_func_v.html    |   4 +-
 content/api/latest/c++/functions_g.html         |   4 +-
 content/api/latest/c++/functions_h.html         |   4 +-
 content/api/latest/c++/functions_k.html         |   2 +-
 content/api/latest/c++/functions_m.html         |   4 +-
 content/api/latest/c++/functions_n.html         |  20 ++-
 content/api/latest/c++/functions_p.html         |  12 +-
 content/api/latest/c++/functions_q.html         |   2 +-
 content/api/latest/c++/functions_r.html         |  44 ++---
 content/api/latest/c++/functions_s.html         |  18 +-
 content/api/latest/c++/functions_t.html         |   4 +-
 content/api/latest/c++/functions_u.html         |   4 +-
 content/api/latest/c++/functions_v.html         |   4 +-
 content/api/latest/c++/functions_vars_p.html    |   2 +-
 content/api/latest/c++/functions_vars_q.html    |   2 +-
 content/api/latest/c++/hashmap_8hpp.html        |   2 +-
 content/api/latest/c++/hashmap_8hpp_source.html |   5 +-
 content/api/latest/c++/hierarchy.html           |  34 ++--
 .../c++/http__connection_8hpp_source.html       |   4 +-
 content/api/latest/c++/image_8hpp.html          |   3 +-
 content/api/latest/c++/image_8hpp_source.html   |   5 +-
 .../include_2mesos_2slave_2isolator_8hpp.html   |   4 +-
 ...ude_2mesos_2slave_2isolator_8hpp_source.html |   4 +-
 content/api/latest/c++/index.hhc                | 154 ++++++++--------
 content/api/latest/c++/index.hhk                | 160 ++++++++---------
 ...ss_2include_2process_2gtest_8hpp_source.html |   4 +-
 .../latest/c++/linkedhashmap_8hpp_source.html   |  18 +-
 .../latest/c++/linux__launcher_8hpp_source.html |   4 +-
 .../c++/master_2validation_8hpp_source.html     |   2 +-
 content/api/latest/c++/mem_8hpp.html            |   2 +-
 content/api/latest/c++/mem_8hpp_source.html     |   4 +-
 content/api/latest/c++/memory_8hpp.html         |   4 +-
 content/api/latest/c++/memory_8hpp_source.html  |   3 +-
 content/api/latest/c++/mock__docker_8hpp.html   |   3 +-
 .../latest/c++/mock__docker_8hpp_source.html    |  36 ++--
 .../api/latest/c++/mock__slave_8hpp_source.html |   2 +-
 content/api/latest/c++/namespacemembers_c.html  |   2 +-
 .../api/latest/c++/namespacemembers_func_a.html |   2 +-
 .../api/latest/c++/namespacemembers_func_c.html |   2 +-
 content/api/latest/c++/namespaceprocess.html    |  24 +--
 .../api/latest/c++/posix_2disk_8hpp_source.html |   4 +-
 content/api/latest/c++/posix_8hpp_source.html   |   4 +-
 .../latest/c++/protobuf__utils_8hpp_source.html |   2 +-
 content/api/latest/c++/provisioner_8hpp.html    |   2 +-
 .../api/latest/c++/provisioner_8hpp_source.html |   3 +-
 .../latest/c++/sandbox__path_8hpp_source.html   |   4 +-
 .../c++/slave_2containerizer_2docker_8hpp.html  |   3 +-
 ...lave_2containerizer_2docker_8hpp_source.html |   8 +-
 ...isolators_2cgroups_2cgroups_8hpp_source.html |   5 +-
 ...ve_2containerizer_2mesos_2launcher_8hpp.html |   2 +-
 ...tainerizer_2mesos_2launcher_8hpp_source.html |   4 +-
 content/api/latest/c++/slave_8hpp_source.html   |   8 +-
 .../latest/c++/src_2log_2log_8hpp_source.html   |   2 +-
 .../api/latest/c++/src_2log_2network_8hpp.html  |   3 +-
 .../c++/src_2log_2network_8hpp_source.html      |  59 +++---
 .../c++/src_2master_2master_8hpp_source.html    | 149 ++++++++-------
 ...ontainerizer_2mesos_2containerizer_8hpp.html |   3 +-
 ...rizer_2mesos_2containerizer_8hpp_source.html |  11 +-
 ...tainerizer_2mesos_2isolator_8hpp_source.html |   6 +-
 ...solators_2docker_2volume_2isolator_8hpp.html |   3 +-
 ...s_2docker_2volume_2isolator_8hpp_source.html |   7 +-
 ...solators_2filesystem_2linux_8hpp_source.html |   4 +-
 ...r_2mesos_2isolators_2gpu_2isolator_8hpp.html |   4 +-
 ...s_2isolators_2gpu_2isolator_8hpp_source.html |   4 +-
 ...ts_2containerizer_2isolator_8hpp_source.html |   6 +-
 .../api/latest/c++/switchboard_8hpp_source.html |   4 +-
 .../tests_2containerizer_2launcher_8hpp.html    |   3 +-
 ...ts_2containerizer_2launcher_8hpp_source.html |  10 +-
 content/api/latest/c++/windows_2cpu_8hpp.html   |   2 +-
 .../latest/c++/windows_2cpu_8hpp_source.html    |   4 +-
 .../documentation/latest/upgrades/index.html    |   8 +
 content/documentation/upgrades/index.html       |   8 +
 194 files changed, 1068 insertions(+), 1026 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
index e746186..bf231b4 100644
--- a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
+++ b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
@@ -59,6 +59,7 @@
 <div class="contents">
 <div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="dispatch_8hpp_source.html">process/dispatch.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp_source.html">process/limiter.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
index fa8aa9f..b5c4c01 100644
--- a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
+++ b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
@@ -52,11 +52,11 @@
 <div class="title">metrics.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="line
 no">    6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span cla
 ss="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div
 ><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="
 lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="metric_8hpp.html">process/metrics/metric.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span cla
 ss="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a> {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics_1_1internal.html">   33</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a> : <span class="keyword">pu
 blic</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;MetricsProcess&gt;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>* <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">create</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; authenticationRealm);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <a class="code" href="classprocess_1_1Futur
 e.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a> metric);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1inter
 nal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">initialize</a>();</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">private</span>:</div><div
  class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">static</span> std::string help();</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Owned.html">Owned&lt;RateLimiter&gt;</a>&gt;&amp; _limiter,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _authenticationRealm)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    : <a class
 ="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<span class="stringliteral">&quot;metrics&quot;</span>),</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      limiter(_limiter),</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      authenticationRealm(_authenticationRealm)</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  {}</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// Non-copyable, non-assignable.</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1Me
 tricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;http::Response&gt;</a> _snapshot(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">http::Request</a>&amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div><div class="line"><a name="l000
 67"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;http::authentication::Principal&gt;</a>&amp;);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">static</span> std::list&lt;Future&lt;double&gt;&gt; _snapshotTimeout(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">static</span> <a class="code" href
 ="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; __snapshot(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp; metrics,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="structprocess_1_1Statistics.html">Statistics&lt;double&gt;</a>&gt;&gt;&amp; <a class="code" href="namespacerouting_1_1link.html#a8486fce953
 717fcb949bfdc17a2dd3e1">statistics</a>);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="comment">// The Owned&lt;Metric&gt; is an explicit copy of the Metric passed to &#39;add&#39;.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Owned&lt;Metric&gt;</a>&gt; metrics;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Used to rate limit the snapshot endpoint.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classOption.html">Option&lt;Owned&lt;RateLimiter&gt;</a>&gt; limiter;</div><div class="line"><a name="l00082"></a><span class="lineno">
    82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// The authentication realm that metrics HTTP endpoints are installed into.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> authenticationRealm;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// Global metrics process. Defined in process.cpp.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <a class="code" href="structprocess_1_1PI
 D.html">PID&lt;MetricsProcess&gt;</a> metrics;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}  <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">   95</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<span class=
 "keyword">const</span> T&amp; metric)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// There is an explicit copy in this call to ensure we end up owning</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// the last copy of a Metric when we remove it.</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</spa
 n>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">internal::MetricsProcess::add</a>,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a>(<span class="keyword">new</span> T(metric)));</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="
 line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">  109</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1Metric.html">Metric</a>&amp; metric)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a na
 me="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">internal::MetricsProcess::remove</a>,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      metric.name());</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119<
 /span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ae84bcc44d0cc377941ccab88b9cecdc7">  121</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initi
 alize`.</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">internal::MetricsProcess::snapshot</a>,</div><div class="line"><a
  name="l00130"></a><span class="lineno">  130</span>&#160;      timeout);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}  <span class="comment">// namespace metrics {</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}  <span class="comment">// namespace process {</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif // __PROCESS_METRICS_METRICS_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; std::string &gt;</a></div></div>
+<a href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="line
 no">    6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span cla
 ss="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"
 >   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span><
 /div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="metric_8hpp.html">process/metrics/metric.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00
 031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a> {</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics_1_1internal.html">   34</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">   36</a></span>&#160;<span class="keyword"
 >class </span><a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;MetricsProcess&gt;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>* <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">create</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; authenticationRealm);</div><div class="line"><a name="l00040"></a><span class="lineno">   40<
 /span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a> metric);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <a class="code" hr
 ef="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">initialize</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</s
 pan>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">static</span> std::string help();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Owned.html">Owned&lt;RateLimiter&gt;</a>&gt;&amp; _limiter,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std
 ::string&gt;</a>&amp; _authenticationRealm)</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<span class="stringliteral">&quot;metrics&quot;</span>),</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      limiter(_limiter),</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      authenticationRealm(_authenticationRealm)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  {}</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// Non-copyable, non-assignable.</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_
 1_1MetricsProcess.html">MetricsProcess</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;http::Response&gt;</a> _snapshot(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">http::Request</a>&
 amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;http::authentication::Principal&gt;</a>&amp;);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="comment">// TODO(bmahler): Make this static once we can move</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">// capture with C++14.</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; __snapshot(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160
 ;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp;&amp; metrics,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="structprocess_1_1Statistics.html">Statistics&lt;double&gt;</a>&gt;&gt;&amp;&amp; <a class="code" href="namespacerouting_1_1link.html#a8486fce953717fcb949bfdc17a2dd3e1">statistics</a>);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="comment">// The 
 Owned&lt;Metric&gt; is an explicit copy of the Metric passed to &#39;add&#39;.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Owned&lt;Metric&gt;</a>&gt; metrics;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Used to rate limit the snapshot endpoint.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classOption.html">Option&lt;Owned&lt;RateLimiter&gt;</a>&gt; limiter;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// The authentication realm that metrics HTTP endpoints are installed into.</span></div><div class="line"><a name
 ="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> authenticationRealm;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// Global metrics process. Defined in process.cpp.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <a class="code" href="structprocess_1_1PID.html">PID&lt;MetricsProcess&gt;</a> metrics;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}  <span class="comment">
 // namespace internal {</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">   95</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<span class="keyword">const</span> T&amp; metric)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// The me
 trics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// There is an explicit copy in this call to ensure we end up owning</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// the last copy of a Metric when we remove it.</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a clas
 s="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">internal::MetricsProcess::add</a>,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a>(<span class="keyword">new</span> T(metric)));</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">  109</a></span>&
 #160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1Metric.html">Metric</a>&amp; metric)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc65
 3268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">internal::MetricsProcess::remove</a>,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      metric.name());</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ae84bcc44d0cc377941cca
 b88b9cecdc7">  121</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l
 00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">internal::MetricsProcess::snapshot</a>,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      timeout);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#1
 60;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}  <span class="comment">// namespace metrics {</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}  <span class="comment">// namespace process {</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif // __PROCESS_METRICS_METRICS_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; std::string &gt;</a></div></div>
 <div class="ttc" id="namespaceprocess_1_1http_html_ad8f400b5e54038df7e5662ec35da05fa"><div class="ttname"><a href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">process::http::request</a></div><div class="ttdeci">Future&lt; Response &gt; request(const Request &amp;request, bool streamedResponse=false)</div><div class="ttdoc">Asynchronously sends an HTTP request to the process and returns the HTTP response once the entire res...</div></div>
 <div class="ttc" id="metric_8hpp_html"><div class="ttname"><a href="metric_8hpp.html">metric.hpp</a></div></div>
 <div class="ttc" id="classprocess_1_1ProcessBase_html_a318038bacd95e4260864533f7cfe12fd"><div class="ttname"><a href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">process::ProcessBase::ProcessBase</a></div><div class="ttdeci">ProcessBase(const std::string &amp;id=&quot;&quot;)</div></div>
-<div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">process::metrics::internal::MetricsProcess</a></div><div class="ttdef"><b>Definition:</b> metrics.hpp:35</div></div>
+<div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">process::metrics::internal::MetricsProcess</a></div><div class="ttdef"><b>Definition:</b> metrics.hpp:36</div></div>
 <div class="ttc" id="namespaceprocess_html_a6c9cd01950a98038b2a6df3e5066418f"><div class="ttname"><a href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a></div><div class="ttdeci">bool initialize(const Option&lt; std::string &gt; &amp;delegate=None(), const Option&lt; std::string &gt; &amp;readwriteAuthenticationRealm=None(), const Option&lt; std::string &gt; &amp;readonlyAuthenticationRealm=None())</div><div class="ttdoc">Initialize the library. </div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1Metric_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1Metric.html">process::metrics::Metric</a></div><div class="ttdef"><b>Definition:</b> metric.hpp:33</div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_ad5879be2708a6b45ee29fe4acfe0eece"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">process::metrics::internal::MetricsProcess::remove</a></div><div class="ttdeci">Future&lt; Nothing &gt; remove(const std::string &amp;name)</div></div>
@@ -70,7 +70,6 @@
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_a481de823013045447009d4554fdaf69d"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">process::metrics::internal::MetricsProcess::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Invoked when a process gets spawned. </div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_a1b0e6141bb79047bf1247e27c2befcfd"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">process::metrics::internal::MetricsProcess::create</a></div><div class="ttdeci">static MetricsProcess * create(const Option&lt; std::string &gt; &amp;authenticationRealm)</div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="structprocess_1_1PID_html"><div class="ttname"><a href="structprocess_1_1PID.html">process::PID</a></div><div class="ttdoc">A &quot;process identifier&quot; used to uniquely identify a process when dispatching messages. </div><div class="ttdef"><b>Definition:</b> pid.hpp:279</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>


[20/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/mock__slave_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/mock__slave_8hpp_source.html b/content/api/latest/c++/mock__slave_8hpp_source.html
index fa9aef0..49ec4e1 100644
--- a/content/api/latest/c++/mock__slave_8hpp_source.html
+++ b/content/api/latest/c++/mock__slave_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">mock_slave.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mock__slave_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TESTS_MOCKSLAVE_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TESTS_MOCKSLAVE_HPP__</span></div><div class="lin
 e"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="authentication_2secret__generator_8hpp.html">mesos/
 authentication/secret_generator.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2master_2detector_8hpp.html">mesos/master/detector.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2qos__controller_8hpp.html">mesos/slave/qos_controller.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2resource__estimator_8hpp.html">mesos/slave/resource_estimator.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><
 div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2pid_8hpp.html">process/pid.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="prepr
 ocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="messages_8hpp.html">messages/messages.hpp</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_8hpp.html">slave/slave.hpp</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="li
 neno">   45</span>&#160;using ::testing::_;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;using ::testing::DoDefault;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;using ::testing::Return;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="l
 ine" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html">   53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html">MockResourceEstimator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a2385e10f85ce1b74aed1a290ea277a14">MockResourceEstimator</a>();</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1test
 s_1_1MockResourceEstimator.html#a77e0dc756617223052adb53243d703d2">~MockResourceEstimator</a>();</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#ae3f10a9049e23fa411f36e2bfd1586d3">initialize</a>,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a>(<span class="keyword">const</span> lambda::function&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>()&gt;&amp;));</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span
 >&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#a65aea819df6f61cabf0a98520121606b">oversubscribable</a>,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Resources&gt;</a>());</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;};</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">// The MockQo
 SController is a stub which lets tests fill the</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// correction queue for a slave.</span></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">   71</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">MockQoSController</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSCo
 ntroller.html">MockQoSController</a>();</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">MockQoSController</a>();</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#ae3f10a9049e23fa411f36e2bfd1586d3">initialize</a>,</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a>(<span class="keyword">const</span> lambda::function&lt;<a class="
 code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>()&gt;&amp;));</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      corrections, <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::list&lt;mesos::slave::QoSCorrection&gt;&gt;());</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;};</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// Defi
 nition of a mock Slave to be used in tests with gmock, covering</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// potential races between runTask and killTask.</span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">   88</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">MockSlave</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">slave::Slave</a></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;{</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockSlave.ht
 ml">MockSlave</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">slave::Containerizer</a>* containerizer,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <a class="co
 de" href="classmesos_1_1internal_1_1Files.html">Files</a>* files,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html">slave::GarbageCollector</a>* gc,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html">slave::TaskStatusUpdateManager</a>* taskStatusUpdateManager,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span
 >&#160;      <a class="code" href="classmesos_1_1SecretGenerator.html">SecretGenerator</a>* secretGenerator,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Authorizer*&gt;</a>&amp; authorizer);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  MOCK_METHOD6(___run, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00107"></a><span class="lineno">  107
 </span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskGroupInfo&gt;&amp; taskGroups));</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> unmocked____run(</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing
 &gt;</a>&amp; future,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskGroupInfo&gt;&amp; taskGroups);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  MOCK_METHOD
 7(runTask, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;   
    <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">void</span> unmocked_runTask(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <span cl
 ass="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  MOCK_METHOD6(_run, <a clas
 s="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,
 </div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> unmocked__run(</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,<
 /div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  MOCK_METHOD6(__run, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,<
 /div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a n
 ame="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">void</span> unmocked___run(</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</s
 pan>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  MOCK_METHOD6(runTaskGroup, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00173"></a><span class="lineno">  173</spa
 n>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keyword">const</span> TaskGroupInfo&amp; taskGroup,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keywordtype">void</span> unmocked_runTaskGroup(</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <span class="keyword">const</span> <a class
 ="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keyword">const</span> TaskGroupInfo&amp; taskGroup,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00185"></a><span class="li
 neno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  MOCK_METHOD2(killTask, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keyword">const</span> KillTaskMessage&amp; killTaskMessage));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keywordtype">void</span> unmocked_killTask(</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a nam
 e="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">const</span> KillTaskMessage&amp; killTaskMessage);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(removeFramework, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework));</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordtype">void</span> unmocked_removeFramework(</div><div class="line"><a name="l00198"></a><span class="lineno">  198</
 span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(__recover, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future));</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keywordtype">void</span> unmocked___recover(</div><div class="line"><a name="l00204"></a><span class="lineno"> 
  204</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(qosCorrections, <span class="keywordtype">void</span>());</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordtype">void</span> unmocked_qosCorrections();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEsti
 mator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(_qosCorrections, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          mesos::slave::QoSCorrection&gt;&gt;&amp; correction));</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(<a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">usage</a>, <a class="code" hre
 f="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>());</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a> unmocked_usage();</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  MOCK_METHOD3(executorTerminated, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;      <span
  class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option</a>&lt;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          mesos::slave::ContainerTermination&gt;&gt;&amp; termination));</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  <span class="keywordtype">void</span> unmocked_executorTerminated(</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      <span class="keyword">const</span> <a class="code" 
 href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option</a>&lt;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;          mesos::slave::ContainerTermination&gt;&gt;&amp; termination);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  MOCK_METHOD3(shutdownExecutor, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      <span class="keyword">const</span> ExecutorI
 D&amp; executorId));</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordtype">void</span> unmocked_shutdownExecutor(</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  MOCK_METHOD2(_shutdownExecutor, <span class="keywordtype">void<
 /span>(</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">slave::Executor</a>* executor));</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keywordtype">void</span> unmocked__shutdownExecutor(</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework,</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">slave::Ex
 ecutor</a>* executor);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;};</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#endif // __TESTS_MOCKSLAVE_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator_html_aa37b9a18812afafc5da6f1e6b3729d8e"><div class="ttname"><a href="classmeso
 s_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">mesos::internal::tests::MockResourceEstimator::MOCK_METHOD0</a></div><div class="ttdeci">MOCK_METHOD0(oversubscribable, process::Future&lt; Resources &gt;())</div></div>
+<a href="mock__slave_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TESTS_MOCKSLAVE_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TESTS_MOCKSLAVE_HPP__</span></div><div class="lin
 e"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="authentication_2secret__generator_8hpp.html">mesos/
 authentication/secret_generator.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2master_2detector_8hpp.html">mesos/master/detector.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2qos__controller_8hpp.html">mesos/slave/qos_controller.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2resource__estimator_8hpp.html">mesos/slave/resource_estimator.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><
 div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2pid_8hpp.html">process/pid.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="prepr
 ocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="messages_8hpp.html">messages/messages.hpp</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_8hpp.html">slave/slave.hpp</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="li
 neno">   45</span>&#160;using ::testing::_;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;using ::testing::DoDefault;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;using ::testing::Return;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="l
 ine" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html">   53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html">MockResourceEstimator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a2385e10f85ce1b74aed1a290ea277a14">MockResourceEstimator</a>();</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1test
 s_1_1MockResourceEstimator.html#a77e0dc756617223052adb53243d703d2">~MockResourceEstimator</a>();</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#ae3f10a9049e23fa411f36e2bfd1586d3">initialize</a>,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a>(<span class="keyword">const</span> lambda::function&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>()&gt;&amp;));</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span
 >&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#a65aea819df6f61cabf0a98520121606b">oversubscribable</a>,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Resources&gt;</a>());</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;};</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">// The MockQo
 SController is a stub which lets tests fill the</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// correction queue for a slave.</span></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">   71</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">MockQoSController</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSCo
 ntroller.html">MockQoSController</a>();</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockQoSController.html">MockQoSController</a>();</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html#ae3f10a9049e23fa411f36e2bfd1586d3">initialize</a>,</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a>(<span class="keyword">const</span> lambda::function&lt;<a class="
 code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>()&gt;&amp;));</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      corrections, <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::list&lt;mesos::slave::QoSCorrection&gt;&gt;());</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;};</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// Defi
 nition of a mock Slave to be used in tests with gmock, covering</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// potential races between runTask and killTask.</span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">   88</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">MockSlave</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">slave::Slave</a></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;{</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockSlave.ht
 ml">MockSlave</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">slave::Containerizer</a>* containerizer,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <a class="co
 de" href="classmesos_1_1internal_1_1Files.html">Files</a>* files,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html">slave::GarbageCollector</a>* gc,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html">slave::TaskStatusUpdateManager</a>* taskStatusUpdateManager,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span
 >&#160;      <a class="code" href="classmesos_1_1SecretGenerator.html">SecretGenerator</a>* secretGenerator,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Authorizer*&gt;</a>&amp; authorizer);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  MOCK_METHOD6(___run, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00107"></a><span class="lineno">  107
 </span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> std::vector&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::vector&lt;TaskGroupInfo&gt;&amp; taskGroups));</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> unmocked____run(</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Not
 hing&gt;</a>&amp; future,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> std::vector&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">const</span> std::vector&lt;TaskGroupInfo&gt;&amp; taskGroups);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  MOC
 K_METHOD7(runTask, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&
 #160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">void</span> unmocked_runTask(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      
 <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  MOCK_METHOD6(_run,
  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersi
 onUuids,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> unmocked__run(</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp
 ; task,</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  MOCK_METHOD6(__run, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; framewo
 rkInfo,</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="li
 ne"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">void</span> unmocked___run(</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00167"></a><span class="lineno">
   167</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  MOCK_METHOD6(runTaskGroup, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00173"></a><span class="lineno">  
 173</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keyword">const</span> TaskGroupInfo&amp; taskGroup,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor));</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keywordtype">void</span> unmocked_runTaskGroup(</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <span class="keyword">const</span> 
 <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keyword">const</span> TaskGroupInfo&amp; taskGroup,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00185"></a><span c
 lass="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  MOCK_METHOD2(killTask, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keyword">const</span> KillTaskMessage&amp; killTaskMessage));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keywordtype">void</span> unmocked_killTask(</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line
 "><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">const</span> KillTaskMessage&amp; killTaskMessage);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(removeFramework, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework));</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordtype">void</span> unmocked_removeFramework(</div><div class="line"><a name="l00198"></a><span class="lineno"
 >  198</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(__recover, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future));</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keywordtype">void</span> unmocked___recover(</div><div class="line"><a name="l00204"></a><span class="l
 ineno">  204</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(qosCorrections, <span class="keywordtype">void</span>());</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordtype">void</span> unmocked_qosCorrections();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockReso
 urceEstimator.html#a370c22bc4ec80ef04ed0c31bd4ee3120">MOCK_METHOD1</a>(_qosCorrections, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          mesos::slave::QoSCorrection&gt;&gt;&amp; correction));</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">MOCK_METHOD0</a>(<a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">usage</a>, <a class="c
 ode" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a>());</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceUsage&gt;</a> unmocked_usage();</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  MOCK_METHOD3(executorTerminated, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;   
    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option</a>&lt;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          mesos::slave::ContainerTermination&gt;&gt;&amp; termination));</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  <span class="keywordtype">void</span> unmocked_executorTerminated(</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      <span class="keyword">const</span> <a class
 ="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option</a>&lt;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;          mesos::slave::ContainerTermination&gt;&gt;&amp; termination);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  MOCK_METHOD3(shutdownExecutor, <span class="keywordtype">void</span>(</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      <span class="keyword">const</span> E
 xecutorID&amp; executorId));</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordtype">void</span> unmocked_shutdownExecutor(</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  MOCK_METHOD2(_shutdownExecutor, <span class="keywordtyp
 e">void</span>(</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">slave::Executor</a>* executor));</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keywordtype">void</span> unmocked__shutdownExecutor(</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">slave::Framework</a>* framework,</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">s
 lave::Executor</a>* executor);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;};</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#endif // __TESTS_MOCKSLAVE_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator_html_aa37b9a18812afafc5da6f1e6b3729d8e"><div class="ttname"><a href="c
 lassmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#aa37b9a18812afafc5da6f1e6b3729d8e">mesos::internal::tests::MockResourceEstimator::MOCK_METHOD0</a></div><div class="ttdeci">MOCK_METHOD0(oversubscribable, process::Future&lt; Resources &gt;())</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator_html_a77e0dc756617223052adb53243d703d2"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html#a77e0dc756617223052adb53243d703d2">mesos::internal::tests::MockResourceEstimator::~MockResourceEstimator</a></div><div class="ttdeci">virtual ~MockResourceEstimator()</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/namespacemembers_c.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/namespacemembers_c.html b/content/api/latest/c++/namespacemembers_c.html
index 0283009..99b0575 100644
--- a/content/api/latest/c++/namespacemembers_c.html
+++ b/content/api/latest/c++/namespacemembers_c.html
@@ -253,7 +253,7 @@
 : <a class="el" href="namespacemesos_1_1internal_1_1slave_1_1cni_1_1spec.html#ab1a247ae9ce372ba945b41a158ec5e76">mesos::internal::slave::cni::spec</a>
 </li>
 <li>collect()
-: <a class="el" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">process</a>
+: <a class="el" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">process</a>
 </li>
 <li>compress()
 : <a class="el" href="namespacegzip.html#a6ca8f3e08feb9af115ddcb685b8db57b">gzip</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/namespacemembers_func_a.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/namespacemembers_func_a.html b/content/api/latest/c++/namespacemembers_func_a.html
index e92ed1d..255e2eb 100644
--- a/content/api/latest/c++/namespacemembers_func_a.html
+++ b/content/api/latest/c++/namespacemembers_func_a.html
@@ -180,7 +180,7 @@
 : <a class="el" href="namespacemesos.html#a1cf38910e9883f2375ee724671784e27">mesos</a>
 </li>
 <li>await()
-: <a class="el" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">process</a>
+: <a class="el" href="namespaceprocess.html#a4e2dd66121c628a77b57766a7a276838">process</a>
 , <a class="el" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">process::internal</a>
 </li>
 <li>awaited()

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/namespacemembers_func_c.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/namespacemembers_func_c.html b/content/api/latest/c++/namespacemembers_func_c.html
index 1fcb2b3..99731f2 100644
--- a/content/api/latest/c++/namespacemembers_func_c.html
+++ b/content/api/latest/c++/namespacemembers_func_c.html
@@ -173,7 +173,7 @@
 : <a class="el" href="namespaceproc.html#a4ba22836c31ab565d5670129aac0a34d">proc</a>
 </li>
 <li>collect()
-: <a class="el" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">process</a>
+: <a class="el" href="namespaceprocess.html#a871061d70cd1c8bf39df4d1154cd1857">process</a>
 </li>
 <li>compress()
 : <a class="el" href="namespacegzip.html#a6ca8f3e08feb9af115ddcb685b8db57b">gzip</a>


[04/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html
index 015c34e..983fdca 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html
@@ -55,9 +55,9 @@
 <div class="title">isolator.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;map&gt;</code><br />
+<div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;set&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="hashmap_8hpp_source.html">stout/hashmap.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="option_8hpp_source.html">stout/option.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp_source.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp_source.html
index 4e51a2e..c1c8799 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp_source.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp_source.html
@@ -52,9 +52,8 @@
 <div class="title">isolator.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></d
 iv><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 
   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define 
 __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="pr
 eprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="path_8hpp.html">stout/path.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linux_2cgroups_8hpp.html">linux/cgroups.hpp</a>&quot;</span></div><div class="line"><a name=
 "l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2gpu_2allocator_8hpp.html">slave/containerizer/mesos/isolators/gpu/allocator.hpp</a>&quot;</span></div><div class="line
 "><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="components_8hpp.html">slave/containerizer/mesos/isolators/gpu/components.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="volume_8hpp.html">slave/containerizer/mesos/isolators/gpu/volume.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyw
 ord">namespace </span>slave {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// This isolator uses the cgroups devices subsystem to control</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// access to Nvidia GPUs. Since this is the very first device</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// isolator, it currently contains generic device isolation</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// logic that needs to be pulled up into a generic device</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// isolator.</span></div><div class="line"><a name="l00050"></a><span class="lineno">  
  50</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// GPUs are allocated to containers in an arbitrary fashion.</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// For example, if a container requires 2 GPUs, we will</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// arbitrarily choose 2 from the GPUs that are available.</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// This may not behave well if tasks within an executor use</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// GPUs since we cannot identify which task are using which</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class
 ="comment">// GPUs (i.e. when a task terminates, we may remove a GPU</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// that is still being used by a different task!).</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// Note that this isolator is not responsible for ensuring</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// that the necessary Nvidia libraries are visible in the</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// container. If filesystem isolation is not enabled, this</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// means that the containe
 r can simply use the libraries</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// available on the host. When filesystem isolation is</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">// enabled, it is the responsibility of the operator /</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// application developer to ensure that the necessary</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// libraries are visible to the container (note that they</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// must be version compatible with the kernel driver on</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// the host).</s
 pan></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// TODO(klueska): To better support containers with a</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// provisioned filesystem, we will need to add a mechanism</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">// for operators to inject the libraries as a volume into</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">// containers that require GPU access.</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"
 >// TODO(klueska): If multiple containerizers are enabled,</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">// they need to co-ordinate their allocation of GPUs.</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">// TODO(klueska): Move generic device isolation logic</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// out into its own component.</span></div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">   80</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">NvidiaGpuIsolatorProcess</a> : <span class=
 "keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;{</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ad39ce3c25fef0c30eb43119184529a3b">create</a>(</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"> 
   85</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NvidiaComponents.html">NvidiaComponents</a>&amp; components);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ab70ccb2d7dc7dd3377ad40f050595c61">supportsNesting</a>();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#aa0282cfa20e55f56feb46f7ee16b0915">supportsStandalone</a>();</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090
 "></a><span class="lineno">   90</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">recover</a>(</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave
 ::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">prepare</a>(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a0d99ad554385f6e1df62d211f4df20fd">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99<
 /span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a14293df65e7bd30ea32ae71c762721da">usage</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="
 l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a7aabef75bd2d69564307ca104f99b99d">cleanup</a>(</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">NvidiaGpuIsolatorProcess</a>(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span>
  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> std::string&amp; hierarchy,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuAllocator.html">NvidiaGpuAllocator</a>&amp; _allocator,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaVolume.html">NvidiaVolume</a>&amp; _volume,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::map&lt;Path, cgroups::devices::Entry&gt;&amp; _controlDeviceEntries);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span
 >&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _update(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">const</span> std::set&lt;
 Gpu&gt;&amp; allocation);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    Info(<span class="keyword">const</span> ContainerID&amp; _containerId, <span class="keyword">const</span> std::string&amp; _cgroup)</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      : containerId(_containerId), <a class="code" href="namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>(_cgroup) {}</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keyword">const</span> ContainerID containe
 rId;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    std::set&lt;Gpu&gt; allocated;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  };</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// The path to the cgroups subsystem hierarchy root.</span></div><div c
 lass="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keyword">const</span> std::string hierarchy;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// TODO(bmahler): Use Owned&lt;Info&gt;.</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info*&gt;</a> infos;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuAllocator.html">NvidiaGpuAllocator</a> allocator;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaVolume.html">NvidiaVol
 ume</a> volume;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keyword">const</span> std::map&lt;Path, cgroups::devices::Entry&gt; controlDeviceEntries;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;};</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><sp
 an class="lineno">  151</span>&#160;<span class="preprocessor">#endif // __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_a9529787f587a13e528b6fdfdd87fd6fc"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">mesos::internal::slave::NvidiaGpuIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
+<a href="src_2slave_2containerizer_2mesos_2isolators_2gpu_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></d
 iv><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 
   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define 
 __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="
 preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="path_8hpp.html">stout/path.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linux_2cgroups_8hpp.html">linux/cgroups.hpp</a>&quot;</span></div><div class="line"><a nam
 e="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2gpu_2allocator_8hpp.html">slave/containerizer/mesos/isolators/gpu/allocator.hpp</a>&quot;</span></div><div class="li
 ne"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="components_8hpp.html">slave/containerizer/mesos/isolators/gpu/components.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="volume_8hpp.html">slave/containerizer/mesos/isolators/gpu/volume.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="ke
 yword">namespace </span>slave {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// This isolator uses the cgroups devices subsystem to control</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// access to Nvidia GPUs. Since this is the very first device</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// isolator, it currently contains generic device isolation</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// logic that needs to be pulled up into a generic device</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// isolator.</span></div><div class="line"><a name="l00050"></a><span class="lineno">
    50</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// GPUs are allocated to containers in an arbitrary fashion.</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// For example, if a container requires 2 GPUs, we will</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// arbitrarily choose 2 from the GPUs that are available.</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// This may not behave well if tasks within an executor use</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// GPUs since we cannot identify which task are using which</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span cla
 ss="comment">// GPUs (i.e. when a task terminates, we may remove a GPU</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// that is still being used by a different task!).</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// Note that this isolator is not responsible for ensuring</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// that the necessary Nvidia libraries are visible in the</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// container. If filesystem isolation is not enabled, this</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// means that the contai
 ner can simply use the libraries</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// available on the host. When filesystem isolation is</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">// enabled, it is the responsibility of the operator /</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// application developer to ensure that the necessary</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// libraries are visible to the container (note that they</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// must be version compatible with the kernel driver on</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// the host).<
 /span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// TODO(klueska): To better support containers with a</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// provisioned filesystem, we will need to add a mechanism</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">// for operators to inject the libraries as a volume into</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">// containers that require GPU access.</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="commen
 t">// TODO(klueska): If multiple containerizers are enabled,</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">// they need to co-ordinate their allocation of GPUs.</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">// TODO(klueska): Move generic device isolation logic</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// out into its own component.</span></div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">   80</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">NvidiaGpuIsolatorProcess</a> : <span clas
 s="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;{</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ad39ce3c25fef0c30eb43119184529a3b">create</a>(</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"
 >   85</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NvidiaComponents.html">NvidiaComponents</a>&amp; components);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ab70ccb2d7dc7dd3377ad40f050595c61">supportsNesting</a>();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#aa0282cfa20e55f56feb46f7ee16b0915">supportsStandalone</a>();</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l000
 90"></a><span class="lineno">   90</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">recover</a>(</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::s
 lave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">prepare</a>(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a0d99ad554385f6e1df62d211f4df20fd">update</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">  
  99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a14293df65e7bd30ea32ae71c762721da">usage</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a na
 me="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a7aabef75bd2d69564307ca104f99b99d">cleanup</a>(</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">NvidiaGpuIsolatorProcess</a>(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</s
 pan> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> std::string&amp; hierarchy,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuAllocator.html">NvidiaGpuAllocator</a>&amp; _allocator,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaVolume.html">NvidiaVolume</a>&amp; _volume,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::map&lt;Path, cgroups::devices::Entry&gt;&amp; _controlDeviceEntries);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</
 span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _update(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">const</span> std::set
 &lt;Gpu&gt;&amp; allocation);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    Info(<span class="keyword">const</span> ContainerID&amp; _containerId, <span class="keyword">const</span> std::string&amp; _cgroup)</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      : containerId(_containerId), <a class="code" href="namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>(_cgroup) {}</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keyword">const</span> ContainerID cont
 ainerId;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    std::set&lt;Gpu&gt; allocated;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  };</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// The path to the cgroups subsystem hierarchy root.</span></div><d
 iv class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keyword">const</span> std::string hierarchy;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// TODO(bmahler): Use Owned&lt;Info&gt;.</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, Info*&gt;</a> infos;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuAllocator.html">NvidiaGpuAllocator</a> allocator;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1NvidiaVolume.html">Nvidi
 aVolume</a> volume;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keyword">const</span> std::map&lt;Path, cgroups::devices::Entry&gt; controlDeviceEntries;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;};</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a
 ><span class="lineno">  151</span>&#160;<span class="preprocessor">#endif // __NVIDIA_GPU_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_a9529787f587a13e528b6fdfdd87fd6fc"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">mesos::internal::slave::NvidiaGpuIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_a836b9f7f519de28a2b2cb49634593117"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">mesos::internal::slave::NvidiaGpuIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_a14293df65e7bd30ea32ae71c762721da"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a14293df65e7bd30ea32ae71c762721da">mesos::internal::slave::NvidiaGpuIsolatorProcess::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="src_2slave_2containerizer_2mesos_2isolators_2gpu_2allocator_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolators_2gpu_2allocator_8hpp.html">allocator.hpp</a></div></div>
@@ -80,6 +79,7 @@
 <div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>
 <div class="ttc" id="components_8hpp_html"><div class="ttname"><a href="components_8hpp.html">components.hpp</a></div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_ac3aa20a594857d796fefff13181d5377"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">mesos::internal::slave::NvidiaGpuIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="linux_2cgroups_8hpp_html"><div class="ttname"><a href="linux_2cgroups_8hpp.html">cgroups.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess_html_ab70ccb2d7dc7dd3377ad40f050595c61"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ab70ccb2d7dc7dd3377ad40f050595c61">mesos::internal::slave::NvidiaGpuIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
 <div class="ttc" id="namespaceflags_html"><div class="ttname"><a href="namespaceflags.html">flags</a></div><div class="ttdef"><b>Definition:</b> parse.hpp:33</div></div>


[39/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker-members.html
index 106767c..fde62ac 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker-members.html
@@ -58,7 +58,7 @@
 <p>This is the complete list of members for <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a>, including all inherited members.</p>
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93">_inspect</a>(const std::string &amp;containerName, const Option&lt; Duration &gt; &amp;retryInterval)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">_ps</a>(bool all, const Option&lt; std::string &gt; &amp;prefix) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">_ps</a>(bool all, const Option&lt; std::string &gt; &amp;prefix) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">_pull</a>(const std::string &amp;directory, const std::string &amp;image, bool force) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526">_run</a>(const Docker::RunOptions &amp;runOptions, const process::Subprocess::IO &amp;_stdout, const process::Subprocess::IO &amp;_stderr) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">_stop</a>(const std::string &amp;containerName, const Duration &amp;timeout, bool remove) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -68,13 +68,13 @@
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a">getSocket</a>()</td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a>(const std::string &amp;containerName, const Option&lt; Duration &gt; &amp;retryInterval=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#a3b46502ea75be07f46e5e92acaea7917">kill</a>(const std::string &amp;containerName, int signal) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">MOCK_CONST_METHOD2</a>(ps, process::Future&lt; std::list&lt; Docker::Container &gt;&gt;(bool, const Option&lt; std::string &gt; &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82">MOCK_CONST_METHOD2</a>(ps, process::Future&lt; std::vector&lt; Docker::Container &gt;&gt;(bool, const Option&lt; std::string &gt; &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#aca6f9d08e4cda820e410e89c8795fad8">MOCK_CONST_METHOD2</a>(inspect, process::Future&lt; Docker::Container &gt;(const std::string &amp;, const Option&lt; Duration &gt; &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(run, process::Future&lt; Option&lt; int &gt;&gt;(const Docker::RunOptions &amp;options, const process::Subprocess::IO &amp;, const process::Subprocess::IO &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8110b9ce212299818830131c1167f197">MOCK_CONST_METHOD3</a>(pull, process::Future&lt; Docker::Image &gt;(const std::string &amp;, const std::string &amp;, bool))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7dc20d0b1a794e8c72f1baf98d9f0a88">MOCK_CONST_METHOD3</a>(stop, process::Future&lt; Nothing &gt;(const std::string &amp;, const Duration &amp;, bool))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b">MockDocker</a>(const std::string &amp;path, const std::string &amp;socket, const Option&lt; JSON::Object &gt; &amp;config=None())</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">mesos::internal::tests::MockDocker</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>(bool all=false, const Option&lt; std::string &gt; &amp;prefix=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a>(bool all=false, const Option&lt; std::string &gt; &amp;prefix=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>(const std::string &amp;directory, const std::string &amp;image, bool force=false) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classDocker.html#afd1dd8dc67fd3d111164ff80f90761f4">rm</a>(const std::string &amp;containerName, bool force=false) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>(const RunOptions &amp;options, const process::Subprocess::IO &amp;_stdout=process::Subprocess::FD(STDOUT_FILENO), const process::Subprocess::IO &amp;_stderr=process::Subprocess::FD(STDERR_FILENO)) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker.html
index 09afc1f..1c15e49 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockDocker.html
@@ -77,8 +77,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a685c68f87dc5987215611c11b1b8d8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0561a3c8e5d2286627453b511f803d4d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a> (<a class="el" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; int &gt;&gt;(const <a class="el" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a> &amp;options, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;))</td></tr>
 <tr class="separator:a0561a3c8e5d2286627453b511f803d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae85681ccc730211e96c15f662c2d06f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">MOCK_CONST_METHOD2</a> (<a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::list&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt;&gt;(bool, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;))</td></tr>
-<tr class="separator:ae85681ccc730211e96c15f662c2d06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8589c9051ba96dca1090a867ecc1da82"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82">MOCK_CONST_METHOD2</a> (<a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::vector&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt;&gt;(bool, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;))</td></tr>
+<tr class="separator:a8589c9051ba96dca1090a867ecc1da82"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8110b9ce212299818830131c1167f197"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8110b9ce212299818830131c1167f197">MOCK_CONST_METHOD3</a> (<a class="el" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Image.html">Docker::Image</a> &gt;(const std::string &amp;, const std::string &amp;, bool))</td></tr>
 <tr class="separator:a8110b9ce212299818830131c1167f197"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7dc20d0b1a794e8c72f1baf98d9f0a88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7dc20d0b1a794e8c72f1baf98d9f0a88">MOCK_CONST_METHOD3</a> (<a class="el" href="classDocker.html#a4f45c8632608059b07157a65033474fc">stop</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;(const std::string &amp;, const <a class="el" href="classDuration.html">Duration</a> &amp;, bool))</td></tr>
@@ -87,8 +87,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:aca6f9d08e4cda820e410e89c8795fad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8073b72f047203776ff3b313eef31526"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526">_run</a> (const <a class="el" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a> &amp;runOptions, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;_stdout, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;_stderr) const </td></tr>
 <tr class="separator:a8073b72f047203776ff3b313eef31526"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acb65df9983566558465b3a3464724c12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::list&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">_ps</a> (bool all, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix) const </td></tr>
-<tr class="separator:acb65df9983566558465b3a3464724c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a047b723dade233ef8cca866fc3838cb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::vector&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">_ps</a> (bool all, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix) const </td></tr>
+<tr class="separator:a047b723dade233ef8cca866fc3838cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afe6010e3ea6c5ee3538baaf2af6289b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Image.html">Docker::Image</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">_pull</a> (const std::string &amp;directory, const std::string &amp;image, bool force) const </td></tr>
 <tr class="separator:afe6010e3ea6c5ee3538baaf2af6289b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9eda8808316703e3f20865fe5a536f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">_stop</a> (const std::string &amp;containerName, const <a class="el" href="classDuration.html">Duration</a> &amp;timeout, bool remove) const </td></tr>
@@ -110,8 +110,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:afd1dd8dc67fd3d111164ff80f90761f4 inherit pub_methods_classDocker"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3be28ab0231c0fefaf839661b790c457 inherit pub_methods_classDocker"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a> (const std::string &amp;containerName, const <a class="el" href="classOption.html">Option</a>&lt; <a class="el" href="classDuration.html">Duration</a> &gt; &amp;retryInterval=<a class="el" href="structNone.html">None</a>()) const </td></tr>
 <tr class="separator:a3be28ab0231c0fefaf839661b790c457 inherit pub_methods_classDocker"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae3d964240a23f43633d7f8c740ce246b inherit pub_methods_classDocker"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::list&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a> (bool all=false, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix=<a class="el" href="structNone.html">None</a>()) const </td></tr>
-<tr class="separator:ae3d964240a23f43633d7f8c740ce246b inherit pub_methods_classDocker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ed360ee69fa51d583742bdf1e76e2c0 inherit pub_methods_classDocker"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::vector&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a> (bool all=false, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix=<a class="el" href="structNone.html">None</a>()) const </td></tr>
+<tr class="separator:a5ed360ee69fa51d583742bdf1e76e2c0 inherit pub_methods_classDocker"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad4131f2a6b66ab4661339c51d20d812d inherit pub_methods_classDocker"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Image.html">Image</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a> (const std::string &amp;directory, const std::string &amp;image, bool force=false) const </td></tr>
 <tr class="separator:ad4131f2a6b66ab4661339c51d20d812d inherit pub_methods_classDocker"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac0a745d178d4607acca6097a9cb33a5f inherit pub_methods_classDocker"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ac0a745d178d4607acca6097a9cb33a5f">validateVersion</a> (const <a class="el" href="structVersion.html">Version</a> &amp;minVersion) const </td></tr>
@@ -221,7 +221,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="acb65df9983566558465b3a3464724c12"></a>
+<a class="anchor" id="a047b723dade233ef8cca866fc3838cb5"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -229,7 +229,7 @@ Additional Inherited Members</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;std::list&lt;<a class="el" href="classDocker_1_1Container.html">Docker::Container</a>&gt; &gt; mesos::internal::tests::MockDocker::_ps </td>
+          <td class="memname"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;std::vector&lt;<a class="el" href="classDocker_1_1Container.html">Docker::Container</a>&gt; &gt; mesos::internal::tests::MockDocker::_ps </td>
           <td>(</td>
           <td class="paramtype">bool&#160;</td>
           <td class="paramname"><em>all</em>, </td>
@@ -375,20 +375,20 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ae85681ccc730211e96c15f662c2d06f7"></a>
+<a class="anchor" id="a8589c9051ba96dca1090a867ecc1da82"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">mesos::internal::tests::MockDocker::MOCK_CONST_METHOD2 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>&#160;</td>
+          <td class="paramtype"><a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a>&#160;</td>
           <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::list&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt;&gt;&#160;</td>
+          <td class="paramtype"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::vector&lt; <a class="el" href="classDocker_1_1Container.html">Docker::Container</a> &gt;&gt;&#160;</td>
           <td class="paramname">bool, const Option&lt; std::string &gt; &amp;&#160;</td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator-members.html
index 400d782..6bf54d9 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator-members.html
@@ -62,13 +62,13 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(watch, process::Future&lt; mesos::slave::ContainerLimitation &gt;(const ContainerID &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a1aa1b03f39c70559eb7a9bf9f2206f9f">MOCK_METHOD1</a>(usage, process::Future&lt; ResourceStatistics &gt;(const ContainerID &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a32bd106ba7fef3411ed7c08c8e67a947">MOCK_METHOD1</a>(cleanup, process::Future&lt; Nothing &gt;(const ContainerID &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a>(recover, process::Future&lt; Nothing &gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a>(recover, process::Future&lt; Nothing &gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#aea0861279b080d0b7bf000431eda2387">MOCK_METHOD2</a>(prepare, process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt;&gt;(const ContainerID &amp;, const mesos::slave::ContainerConfig &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2580c890554582d691b9a40829740d93">MOCK_METHOD2</a>(isolate, process::Future&lt; Nothing &gt;(const ContainerID &amp;, pid_t))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ad72f1f94ad46f849133cffadfd6d9c35">MOCK_METHOD2</a>(update, process::Future&lt; Nothing &gt;(const ContainerID &amp;, const Resources &amp;))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe">MockIsolator</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">mesos::internal::tests::MockIsolator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>(const std::list&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>(const std::vector&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator.html
index c142d33..7c027ab 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockIsolator.html
@@ -73,8 +73,8 @@ Inheritance diagram for mesos::internal::tests::MockIsolator:</div>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a2bb8379200cf31779e0eebf3b67e55fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe">MockIsolator</a> ()</td></tr>
 <tr class="separator:a2bb8379200cf31779e0eebf3b67e55fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac1ed3bf54f9ce241a6d300d537b647ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a> (<a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;))</td></tr>
-<tr class="separator:ac1ed3bf54f9ce241a6d300d537b647ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9c79f52b7b0a31641874e4a036a4359"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a> (<a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;))</td></tr>
+<tr class="separator:ac9c79f52b7b0a31641874e4a036a4359"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aea0861279b080d0b7bf000431eda2387"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#aea0861279b080d0b7bf000431eda2387">MOCK_METHOD2</a> (<a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt;&gt;(const ContainerID &amp;, const mesos::slave::ContainerConfig &amp;))</td></tr>
 <tr class="separator:aea0861279b080d0b7bf000431eda2387"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2580c890554582d691b9a40829740d93"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2580c890554582d691b9a40829740d93">MOCK_METHOD2</a> (<a class="el" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;(const ContainerID &amp;, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a>))</td></tr>
@@ -94,8 +94,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a9472d7a623eedfd99168825ffbe3c570 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa9361e520e3aa31f21f668ab2f42f85a inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a> ()</td></tr>
 <tr class="separator:aa9361e520e3aa31f21f668ab2f42f85a inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d91782894ecd7bd20f5778d9e01c018 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a> (const std::list&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a0d91782894ecd7bd20f5778d9e01c018 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d35276d3fb6a19cd9290bb4c7aa7f7 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a> (const std::vector&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a67d35276d3fb6a19cd9290bb4c7aa7f7 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a35cb3afae3f941fd4450a763eb123d6d inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a> (const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a35cb3afae3f941fd4450a763eb123d6d inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7a703b2b2cdc4efdaa0fd4519b7109f9 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -214,21 +214,21 @@ Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ac1ed3bf54f9ce241a6d300d537b647ec"></a>
+<a class="anchor" id="ac9c79f52b7b0a31641874e4a036a4359"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">mesos::internal::tests::MockIsolator::MOCK_METHOD2 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>&#160;</td>
+          <td class="paramtype"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>&#160;</td>
           <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td>
-          <td class="paramname">const std::list&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;&#160;</td>
+          <td class="paramname">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;&#160;</td>
         </tr>
         <tr>
           <td></td>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave-members.html
index c63f860..be9e998 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave-members.html
@@ -57,7 +57,7 @@
 
 <p>This is the complete list of members for <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf">___statusUpdate</a>(const process::Future&lt; Nothing &gt; &amp;future, const StatusUpdate &amp;update, const Option&lt; process::UPID &gt; &amp;pid)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#adf6475e9de96ccbbe503980ae80c2978">__recover</a>(const process::Future&lt; Nothing &gt; &amp;future)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f">__run</a>(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
@@ -137,7 +137,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a198bd73abe1de21b424cc9552e433a07">MOCK_METHOD2</a>(_shutdownExecutor, void(slave::Framework *framework, slave::Executor *executor))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4513fd374739794eb5c09252c2ff6068">MOCK_METHOD3</a>(executorTerminated, void(const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const process::Future&lt; Option&lt; mesos::slave::ContainerTermination &gt;&gt; &amp;termination))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a09c6ebfb457d7b0125e0f90c23590e59">MOCK_METHOD3</a>(shutdownExecutor, void(const process::UPID &amp;from, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d">MOCK_METHOD6</a>(___run, void(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8">MOCK_METHOD6</a>(___run, void(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a554636890dccfa6456f33d9c42ab145b">MOCK_METHOD6</a>(_run, process::Future&lt; Nothing &gt;(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a26927a366270a6ba40f7d91f36d12a8a">MOCK_METHOD6</a>(__run, void(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a3674471b2fa4f68a43af468ce4f343f9">MOCK_METHOD6</a>(runTaskGroup, void(const process::UPID &amp;from, const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const TaskGroupInfo &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
@@ -193,7 +193,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a6f4d260ba9dd50482b7bd8f5021f29b3">subscribe</a>(HttpConnection http, const executor::Call::Subscribe &amp;subscribe, Framework *framework, Executor *executor)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a229d35d6b3d76e3099d766261021b0db">TERMINATING</a> enum value</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; Slave &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24">unmocked____run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6">unmocked____run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae3044d22a2b9dceb14da7da0a7fe6279">unmocked___recover</a>(const process::Future&lt; Nothing &gt; &amp;future)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a499a2223da3e74ef46fdc8f746615aa9">unmocked___run</a>(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#abb419bee97e2e2f03c6b0d2632e607d9">unmocked__run</a>(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">mesos::internal::tests::MockSlave</a></td><td class="entry"></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave.html
index 3a7fbea..56893c3 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1MockSlave.html
@@ -77,10 +77,10 @@ Inheritance diagram for mesos::internal::tests::MockSlave:</div>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a43b07c559623044539007bc157c1bdcb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a43b07c559623044539007bc157c1bdcb">MockSlave</a> (const std::string &amp;id, const <a class="el" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a> &amp;flags, <a class="el" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a> *detector, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">slave::Containerizer</a> *containerizer, <a class="el" href="classmesos_1_1internal_1_1Files.html">Files</a> *files, <a class="el" href="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html">slave::GarbageCollector</a> *gc, <a class="el" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html">slave::TaskStatusUpdateManager</a> *taskStatusUpdateManager, <a class="
 el" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a> *resourceEstimator, <a class="el" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a> *qosController, <a class="el" href="classmesos_1_1SecretGenerator.html">SecretGenerator</a> *secretGenerator, const <a class="el" href="classOption.html">Option</a>&lt; <a class="el" href="classmesos_1_1Authorizer.html">Authorizer</a> * &gt; &amp;authorizer)</td></tr>
 <tr class="separator:a43b07c559623044539007bc157c1bdcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ef0a856e5441536e89015c667394e2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a1ef0a856e5441536e89015c667394e2d">MOCK_METHOD6</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a>, void(const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups))</td></tr>
-<tr class="separator:a1ef0a856e5441536e89015c667394e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab4891406639fb9b205492f5e24e89d24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24">unmocked____run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
-<tr class="separator:ab4891406639fb9b205492f5e24e89d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a722a0afa528086a83da14519f985a3f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a722a0afa528086a83da14519f985a3f8">MOCK_METHOD6</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a>, void(const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups))</td></tr>
+<tr class="separator:a722a0afa528086a83da14519f985a3f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae39ae7d13fc1fd4dc53f7e330ae7eca6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6">unmocked____run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
+<tr class="separator:ae39ae7d13fc1fd4dc53f7e330ae7eca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4245585158835727a3f21ba9f4a859c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a4245585158835727a3f21ba9f4a859c1">MOCK_METHOD7</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa429acb761ae13eab28ec1b3f73402aa">runTask</a>, void(const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, const FrameworkInfo &amp;frameworkInfo, const FrameworkID &amp;frameworkId, const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;pid, const TaskInfo &amp;task, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>))</td></tr>
 <tr class="separator:a4245585158835727a3f21ba9f4a859c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a349f0c0a5a1e2cb5e141e01df9bc9f63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a349f0c0a5a1e2cb5e141e01df9bc9f63">unmocked_runTask</a> (const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, const FrameworkInfo &amp;frameworkInfo, const FrameworkID &amp;frameworkId, const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;pid, const TaskInfo &amp;task, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>)</td></tr>
@@ -154,8 +154,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a80383d69afdb3c654a60099b77ce2c71 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a514097b38996ebe6618cf514d1d3f19f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f">__run</a> (const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const <a class="el" href="classOption.html">Option</a>&lt; TaskInfo &gt; &amp;task, const <a class="el" href="classOption.html">Option</a>&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>)</td></tr>
 <tr class="separator:a514097b38996ebe6618cf514d1d3f19f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac044f6428269d27e69f1652c5b07f5bc inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
-<tr class="separator:ac044f6428269d27e69f1652c5b07f5bc inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14a15d2b5e7d53570e69704aebba903b inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
+<tr class="separator:a14a15d2b5e7d53570e69704aebba903b inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a101f8dc5a130dc066b8be3e231eed9f8 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a101f8dc5a130dc066b8be3e231eed9f8">handleRunTaskGroupMessage</a> (const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, RunTaskGroupMessage &amp;&amp;runTaskGroupMessage)</td></tr>
 <tr class="separator:a101f8dc5a130dc066b8be3e231eed9f8 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a515bd07e751e76bda7f78d3953f5c64f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Slave"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a515bd07e751e76bda7f78d3953f5c64f">runTaskGroup</a> (const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const TaskGroupInfo &amp;taskGroupInfo, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>)</td></tr>
@@ -739,20 +739,20 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a1ef0a856e5441536e89015c667394e2d"></a>
+<a class="anchor" id="a722a0afa528086a83da14519f985a3f8"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">mesos::internal::tests::MockSlave::MOCK_METHOD6 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a>&#160;</td>
+          <td class="paramtype"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a>&#160;</td>
           <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">void(const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)&#160;</td>
+          <td class="paramtype">void(const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)&#160;</td>
           <td class="paramname">&#160;</td>
         </tr>
         <tr>
@@ -869,7 +869,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ab4891406639fb9b205492f5e24e89d24"></a>
+<a class="anchor" id="ae39ae7d13fc1fd4dc53f7e330ae7eca6"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -900,13 +900,13 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::list&lt; TaskInfo &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; TaskInfo &gt; &amp;&#160;</td>
           <td class="paramname"><em>tasks</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::list&lt; TaskGroupInfo &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; TaskGroupInfo &gt; &amp;&#160;</td>
           <td class="paramname"><em>taskGroups</em>&#160;</td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher-members.html
index e721d50..c2f51df 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher-members.html
@@ -59,12 +59,12 @@
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(const ContainerID &amp;containerId)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">MOCK_METHOD1</a>(recover, process::Future&lt; hashset&lt; ContainerID &gt;&gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">MOCK_METHOD1</a>(recover, process::Future&lt; hashset&lt; ContainerID &gt;&gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#ab9f58a40c5eca5e2d4759ed503021ab9">MOCK_METHOD1</a>(destroy, process::Future&lt; Nothing &gt;(const ContainerID &amp;containerId))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a815118effb05f213161861a36523ee6f">MOCK_METHOD1</a>(status, process::Future&lt; ContainerStatus &gt;(const ContainerID &amp;containerId))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c">MOCK_METHOD10</a>(fork, Try&lt; pid_t &gt;(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;env, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces))</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#af98963da1a56e1ec7422f074b889d286">real</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(const ContainerID &amp;containerId)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a03b2e4b3d90bb58e6e032c153e929722">TestLauncher</a>(const process::Owned&lt; slave::Launcher &gt; &amp;_real)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html">mesos::internal::tests::TestLauncher</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher.html b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher.html
index 43f0aee..2a377e8 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1tests_1_1TestLauncher.html
@@ -76,8 +76,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a03b2e4b3d90bb58e6e032c153e929722"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a79fd9c048b6ad3aa6ea8081da0773a37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a79fd9c048b6ad3aa6ea8081da0773a37">~TestLauncher</a> ()</td></tr>
 <tr class="separator:a79fd9c048b6ad3aa6ea8081da0773a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa11a2562a50b189dc11365a761989b83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">MOCK_METHOD1</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt;&gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states))</td></tr>
-<tr class="separator:aa11a2562a50b189dc11365a761989b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a364457036ee4eee072a47db251e590ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">MOCK_METHOD1</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt;&gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states))</td></tr>
+<tr class="separator:a364457036ee4eee072a47db251e590ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8b42f69691df4dc87f8e0c6f1bb01f2c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a8b42f69691df4dc87f8e0c6f1bb01f2c">MOCK_METHOD10</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>, <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> &gt;(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;in, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;out, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;err, const <a
  class="el" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a> *<a class="el" href="namespacemesos_1_1internal_1_1tests.html#af8289f648a916c3f66923867452c7b1b">flags</a>, const <a class="el" href="classOption.html">Option</a>&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;env, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;enterNamespaces, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;cloneNamespaces))</td></tr>
 <tr class="separator:a8b42f69691df4dc87f8e0c6f1bb01f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab9f58a40c5eca5e2d4759ed503021ab9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#ab9f58a40c5eca5e2d4759ed503021ab9">MOCK_METHOD1</a> (<a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>, <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;(const ContainerID &amp;containerId))</td></tr>
@@ -87,8 +87,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td></tr>
 <tr class="memitem:a71741e35eb44f5ca5734af8d945b0e8d inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a> ()</td></tr>
 <tr class="separator:a71741e35eb44f5ca5734af8d945b0e8d inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a8e37767fb1a65c63bb31b26727697e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td></tr>
-<tr class="separator:a0a8e37767fb1a65c63bb31b26727697e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93e8c38b7a4d497b37ce82d9108fedb4 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td></tr>
+<tr class="separator:a93e8c38b7a4d497b37ce82d9108fedb4 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af6c5246e61f3959d393d06f4abf23b45 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a> (const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;in, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;out, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;err, const <a class="el" href="classflags_1_1FlagsBase.html">flags::F
 lagsBase</a> *<a class="el" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>, const <a class="el" href="classOption.html">Option</a>&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;enterNamespaces, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;cloneNamespaces)=0</td></tr>
 <tr class="separator:af6c5246e61f3959d393d06f4abf23b45 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adf9cd543b7aaf0b999a2a00aa31c6175 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1Launcher"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a> (const ContainerID &amp;containerId)=0</td></tr>
@@ -134,21 +134,21 @@ Public Attributes</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="aa11a2562a50b189dc11365a761989b83"></a>
+<a class="anchor" id="a364457036ee4eee072a47db251e590ab"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">mesos::internal::tests::TestLauncher::MOCK_METHOD1 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>&#160;</td>
+          <td class="paramtype"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>&#160;</td>
           <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt;&gt;&#160;</td>
-          <td class="paramname">const std::list&lt; mesos::slave::ContainerState &gt; &amp;states&#160;</td>
+          <td class="paramname">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states&#160;</td>
         </tr>
         <tr>
           <td></td>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1slave_1_1Isolator-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1slave_1_1Isolator-members.html b/content/api/latest/c++/classmesos_1_1slave_1_1Isolator-members.html
index 3dda3ad..307df5e 100644
--- a/content/api/latest/c++/classmesos_1_1slave_1_1Isolator-members.html
+++ b/content/api/latest/c++/classmesos_1_1slave_1_1Isolator-members.html
@@ -60,7 +60,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">cleanup</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>(const ContainerID &amp;containerId, pid_t pid)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>(const std::list&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>(const std::vector&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a970be3215f2a5da5a45c5b921e1d2694">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a9472d7a623eedfd99168825ffbe3c570">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#aa9361e520e3aa31f21f668ab2f42f85a">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>


[45/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/Nodes.xml
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/Nodes.xml b/content/api/latest/c++/Nodes.xml
index 1b8c671..f5f9e6e 100644
--- a/content/api/latest/c++/Nodes.xml
+++ b/content/api/latest/c++/Nodes.xml
@@ -10255,7 +10255,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html</Path>
-                    <Anchor>ab24786a8441e1550e4f007c2aa2a958e</Anchor>
+                    <Anchor>a89675b3cc1907054e4787f9967d49c58</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -10826,7 +10826,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html</Path>
-                    <Anchor>ac2ae1c7f126584259b1e75769957b934</Anchor>
+                    <Anchor>a7fc8cf2248d2bdb7986821f88b2c25bb</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -11086,7 +11086,7 @@
                    <Node>
                     <Name>queuedTaskGroups</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Executor.html</Path>
-                    <Anchor>a2fc2e9b051c144f259f003b79a3d5ec3</Anchor>
+                    <Anchor>a9d9f183a72bf7104a6f3cfdd5195bfed</Anchor>
                    </Node>
                    <Node>
                     <Name>queuedTasks</Name>
@@ -11959,7 +11959,7 @@
                    <Node>
                     <Name>pendingTaskGroups</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Framework.html</Path>
-                    <Anchor>aa52d24c559cecfc18ba6167dd72c1988</Anchor>
+                    <Anchor>ab65e86cf570efa3692d0453d4f875d82</Anchor>
                    </Node>
                    <Node>
                     <Name>pendingTasks</Name>
@@ -12222,7 +12222,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html</Path>
-                    <Anchor>a502c8a09876e5a6f5ca0654297999a18</Anchor>
+                    <Anchor>ab1d7d003cfa4c8c25bdc98f91619e71a</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -12340,7 +12340,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Launcher.html</Path>
-                    <Anchor>a0a8e37767fb1a65c63bb31b26727697e</Anchor>
+                    <Anchor>a93e8c38b7a4d497b37ce82d9108fedb4</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -12413,7 +12413,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html</Path>
-                    <Anchor>a21e1c7227bc8aca8c6a5ab1bdd9ff4f8</Anchor>
+                    <Anchor>ae177456bcfd551ddbc5060fab94cd980</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -12454,7 +12454,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html</Path>
-                    <Anchor>a699c488ac03f1df509d0e09bb021a239</Anchor>
+                    <Anchor>a4a2f84c9e3c2b8e14882baf8522b34e9</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -12828,7 +12828,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolator.html</Path>
-                    <Anchor>a0cef8efea5b88caa294e7e46dbc6155e</Anchor>
+                    <Anchor>aee2378521ee324973937ef921cce2113</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -12889,7 +12889,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-                    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+                    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -13307,7 +13307,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html</Path>
-                    <Anchor>a87f3c1ed9cf30ab3916404b66bc121dd</Anchor>
+                    <Anchor>af94c99e1b44722fd577aa9be6e97eb8e</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -13553,7 +13553,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html</Path>
-                    <Anchor>a836b9f7f519de28a2b2cb49634593117</Anchor>
+                    <Anchor>ac3aa20a594857d796fefff13181d5377</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -13889,7 +13889,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html</Path>
-                    <Anchor>aa97ac1583b2abf4a2543dbbc9b19d1a1</Anchor>
+                    <Anchor>a472e41ec3bd5da4976f763a71262de24</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -13966,7 +13966,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html</Path>
-                    <Anchor>ad8c9d395b93777db8969eec7e0e9f454</Anchor>
+                    <Anchor>afa545f4dcd149870e76a021fdceb296b</Anchor>
                    </Node>
                    <Node>
                     <Name>update</Name>
@@ -14007,7 +14007,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html</Path>
-                    <Anchor>a7e3f98099d4bdd27753980b5aaea1b37</Anchor>
+                    <Anchor>a0fe8fd306e5dc57dd5c6dab7e9a811b1</Anchor>
                    </Node>
                    <Node>
                     <Name>update</Name>
@@ -14309,7 +14309,7 @@
                    <Node>
                     <Name>___run</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Slave.html</Path>
-                    <Anchor>ac044f6428269d27e69f1652c5b07f5bc</Anchor>
+                    <Anchor>a14a15d2b5e7d53570e69704aebba903b</Anchor>
                    </Node>
                    <Node>
                     <Name>___statusUpdate</Name>
@@ -14761,7 +14761,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html</Path>
-                    <Anchor>a816fe950257e14454d13dff95f0f3e59</Anchor>
+                    <Anchor>a12c673740bdf8db16b19e77e6d5e2804</Anchor>
                    </Node>
                    <Node>
                     <Name>status</Name>
@@ -15098,7 +15098,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html</Path>
-                    <Anchor>a0cadbb9a9d14aa3fb7997c48b44c078a</Anchor>
+                    <Anchor>a823b24b8100090f2ebe3f7863ea088d9</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -15155,7 +15155,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html</Path>
-                    <Anchor>af5755ddab871fe5096a19dfd117ecf9c</Anchor>
+                    <Anchor>a66a8a20877c3559b722116f93eeb76c1</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -15207,7 +15207,7 @@
                    <Node>
                     <Name>recover</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html</Path>
-                    <Anchor>a24c49ba3038764a7a2acef630526b9c5</Anchor>
+                    <Anchor>aadb76fe69fa14167319d37b382886c41</Anchor>
                    </Node>
                    <Node>
                     <Name>supportsNesting</Name>
@@ -16352,7 +16352,7 @@
                    <Node>
                     <Name>_ps</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-                    <Anchor>acb65df9983566558465b3a3464724c12</Anchor>
+                    <Anchor>a047b723dade233ef8cca866fc3838cb5</Anchor>
                    </Node>
                    <Node>
                     <Name>_pull</Name>
@@ -16372,7 +16372,7 @@
                    <Node>
                     <Name>MOCK_CONST_METHOD2</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-                    <Anchor>ae85681ccc730211e96c15f662c2d06f7</Anchor>
+                    <Anchor>a8589c9051ba96dca1090a867ecc1da82</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_CONST_METHOD2</Name>
@@ -16623,7 +16623,7 @@
                    <Node>
                     <Name>MOCK_METHOD2</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockIsolator.html</Path>
-                    <Anchor>ac1ed3bf54f9ce241a6d300d537b647ec</Anchor>
+                    <Anchor>ac9c79f52b7b0a31641874e4a036a4359</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_METHOD2</Name>
@@ -16880,7 +16880,7 @@
                    <Node>
                     <Name>MOCK_METHOD6</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-                    <Anchor>a1ef0a856e5441536e89015c667394e2d</Anchor>
+                    <Anchor>a722a0afa528086a83da14519f985a3f8</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_METHOD6</Name>
@@ -16905,7 +16905,7 @@
                    <Node>
                     <Name>unmocked____run</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-                    <Anchor>ab4891406639fb9b205492f5e24e89d24</Anchor>
+                    <Anchor>ae39ae7d13fc1fd4dc53f7e330ae7eca6</Anchor>
                    </Node>
                    <Node>
                     <Name>unmocked___recover</Name>
@@ -17329,7 +17329,7 @@
                    <Node>
                     <Name>MOCK_METHOD1</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1TestLauncher.html</Path>
-                    <Anchor>aa11a2562a50b189dc11365a761989b83</Anchor>
+                    <Anchor>a364457036ee4eee072a47db251e590ab</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_METHOD1</Name>
@@ -19426,7 +19426,7 @@
                  <Node>
                   <Name>recover</Name>
                   <Path>classmesos_1_1slave_1_1Isolator.html</Path>
-                  <Anchor>a0d91782894ecd7bd20f5778d9e01c018</Anchor>
+                  <Anchor>a67d35276d3fb6a19cd9290bb4c7aa7f7</Anchor>
                  </Node>
                  <Node>
                   <Name>status</Name>
@@ -24669,7 +24669,7 @@
                  <Node>
                   <Name>AwaitProcess</Name>
                   <Path>classprocess_1_1internal_1_1AwaitProcess.html</Path>
-                  <Anchor>a3c7eb50fa22cee33c4a23485d08866d8</Anchor>
+                  <Anchor>a0e045da1bceed37fa84ede31b1609ea2</Anchor>
                  </Node>
                  <Node>
                   <Name>~AwaitProcess</Name>
@@ -24690,7 +24690,7 @@
                  <Node>
                   <Name>CollectProcess</Name>
                   <Path>classprocess_1_1internal_1_1CollectProcess.html</Path>
-                  <Anchor>aeae1fffc984af46ddb3b0570408c5ee0</Anchor>
+                  <Anchor>af00208a3334e48650ebbc034902b1dfe</Anchor>
                  </Node>
                  <Node>
                   <Name>~CollectProcess</Name>
@@ -31803,7 +31803,7 @@
              <Node>
               <Name>ps</Name>
               <Path>classDocker.html</Path>
-              <Anchor>ae3d964240a23f43633d7f8c740ce246b</Anchor>
+              <Anchor>a5ed360ee69fa51d583742bdf1e76e2c0</Anchor>
              </Node>
              <Node>
               <Name>pull</Name>
@@ -32211,7 +32211,7 @@
              <Node>
               <Name>values</Name>
               <Path>classhashmap.html</Path>
-              <Anchor>a3e6a1fdf47dc2216eb8c0900e0bc969e</Anchor>
+              <Anchor>a21a6e0bdd1e079aec882826188899387</Anchor>
              </Node>
             </Subnodes>
            </Node>
@@ -33060,7 +33060,7 @@
              <Node>
               <Name>keys</Name>
               <Path>classLinkedHashMap.html</Path>
-              <Anchor>a06baf18c4e2394b6cdc4da4e0c6f4348</Anchor>
+              <Anchor>a39b47c86859d23ada5ef4f2ccd2de35a</Anchor>
              </Node>
              <Node>
               <Name>operator=</Name>
@@ -33085,7 +33085,7 @@
              <Node>
               <Name>values</Name>
               <Path>classLinkedHashMap.html</Path>
-              <Anchor>a9963e9d9df74ec0f589efe7d81d74c30</Anchor>
+              <Anchor>a255ccd94f6b65e44d3b76abc3a4254d9</Anchor>
              </Node>
             </Subnodes>
            </Node>
@@ -36459,27 +36459,27 @@
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::list&lt; Nothing &gt; &gt;</Name>
+            <Name>process::Future&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::list&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;</Name>
+            <Name>process::Future&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;</Name>
+            <Name>process::Future&lt; std::vector&lt; Nothing &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::list&lt; T &gt; &gt;</Name>
+            <Name>process::Future&lt; std::vector&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</Name>
+            <Name>process::Future&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
-            <Name>process::Future&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</Name>
+            <Name>process::Future&lt; std::vector&lt; T &gt; &gt;</Name>
             <Path>classprocess_1_1Future.html</Path>
            </Node>
            <Node>
@@ -38519,19 +38519,19 @@
             <Path>classprocess_1_1Promise.html</Path>
            </Node>
            <Node>
-            <Name>process::Promise&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;</Name>
+            <Name>process::Promise&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</Name>
             <Path>classprocess_1_1Promise.html</Path>
            </Node>
            <Node>
-            <Name>process::Promise&lt; std::list&lt; T &gt; &gt;</Name>
+            <Name>process::Promise&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</Name>
             <Path>classprocess_1_1Promise.html</Path>
            </Node>
            <Node>
-            <Name>process::Promise&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</Name>
+            <Name>process::Promise&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;</Name>
             <Path>classprocess_1_1Promise.html</Path>
            </Node>
            <Node>
-            <Name>process::Promise&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</Name>
+            <Name>process::Promise&lt; std::vector&lt; T &gt; &gt;</Name>
             <Path>classprocess_1_1Promise.html</Path>
            </Node>
            <Node>
@@ -40669,14 +40669,14 @@
             </Subnodes>
            </Node>
            <Node>
-            <Name>cgroups::blkio::Value</Name>
-            <Path>structcgroups_1_1blkio_1_1Value.html</Path>
-           </Node>
-           <Node>
             <Name>process::TimeSeries&lt; T &gt;::Value</Name>
             <Path>structprocess_1_1TimeSeries_1_1Value.html</Path>
            </Node>
            <Node>
+            <Name>cgroups::blkio::Value</Name>
+            <Path>structcgroups_1_1blkio_1_1Value.html</Path>
+           </Node>
+           <Node>
             <Name>Jvm::Variable&lt; T, name, signature &gt;</Name>
             <Path>classJvm_1_1Variable.html</Path>
            </Node>
@@ -40693,6 +40693,10 @@
             <Path>classJvm_1_1Variable.html</Path>
            </Node>
            <Node>
+            <Name>Variant&lt; T, Ts &gt;</Name>
+            <Path>classVariant.html</Path>
+           </Node>
+           <Node>
             <Name>Variant</Name>
             <Path></Path>
             <Subnodes>
@@ -40703,10 +40707,6 @@
             </Subnodes>
            </Node>
            <Node>
-            <Name>Variant&lt; T, Ts &gt;</Name>
-            <Path>classVariant.html</Path>
-           </Node>
-           <Node>
             <Name>Variant&lt; check::Command, check::Http, check::Tcp &gt;</Name>
             <Path>classVariant.html</Path>
            </Node>
@@ -40775,14 +40775,14 @@
             <Path>structprocess_1_1internal_1_1wrap_3_01Future_3_01X_01_4_01_4.html</Path>
            </Node>
            <Node>
-            <Name>mesos::log::Log::Writer</Name>
-            <Path>classmesos_1_1log_1_1Log_1_1Writer.html</Path>
-           </Node>
-           <Node>
             <Name>process::http::Pipe::Writer</Name>
             <Path>classprocess_1_1http_1_1Pipe_1_1Writer.html</Path>
            </Node>
            <Node>
+            <Name>mesos::log::Log::Writer</Name>
+            <Path>classmesos_1_1log_1_1Log_1_1Writer.html</Path>
+           </Node>
+           <Node>
             <Name>JSON::WriterProxy</Name>
             <Path>classJSON_1_1WriterProxy.html</Path>
            </Node>
@@ -42064,7 +42064,7 @@
                        <Node>
                         <Name>CollectProcess</Name>
                         <Path>classprocess_1_1internal_1_1CollectProcess.html</Path>
-                        <Anchor>aeae1fffc984af46ddb3b0570408c5ee0</Anchor>
+                        <Anchor>af00208a3334e48650ebbc034902b1dfe</Anchor>
                        </Node>
                        <Node>
                         <Name>~CollectProcess</Name>
@@ -42085,7 +42085,7 @@
                        <Node>
                         <Name>AwaitProcess</Name>
                         <Path>classprocess_1_1internal_1_1AwaitProcess.html</Path>
-                        <Anchor>a3c7eb50fa22cee33c4a23485d08866d8</Anchor>
+                        <Anchor>a0e045da1bceed37fa84ede31b1609ea2</Anchor>
                        </Node>
                        <Node>
                         <Name>~AwaitProcess</Name>
@@ -42102,7 +42102,7 @@
                      <Node>
                       <Name>await</Name>
                       <Path>collect_8hpp.html</Path>
-                      <Anchor>a9244f063b856adbc7182f8620b01034c</Anchor>
+                      <Anchor>a4e2dd66121c628a77b57766a7a276838</Anchor>
                      </Node>
                      <Node>
                       <Name>await</Name>
@@ -42117,7 +42117,7 @@
                      <Node>
                       <Name>collect</Name>
                       <Path>collect_8hpp.html</Path>
-                      <Anchor>a0f89a937c1caa20e3048e16aeb0c9736</Anchor>
+                      <Anchor>a871061d70cd1c8bf39df4d1154cd1857</Anchor>
                      </Node>
                      <Node>
                       <Name>collect</Name>
@@ -57126,7 +57126,7 @@
                        <Node>
                         <Name>values</Name>
                         <Path>classhashmap.html</Path>
-                        <Anchor>a3e6a1fdf47dc2216eb8c0900e0bc969e</Anchor>
+                        <Anchor>a21a6e0bdd1e079aec882826188899387</Anchor>
                        </Node>
                       </Subnodes>
                      </Node>
@@ -59112,7 +59112,7 @@
                        <Node>
                         <Name>keys</Name>
                         <Path>classLinkedHashMap.html</Path>
-                        <Anchor>a06baf18c4e2394b6cdc4da4e0c6f4348</Anchor>
+                        <Anchor>a39b47c86859d23ada5ef4f2ccd2de35a</Anchor>
                        </Node>
                        <Node>
                         <Name>operator=</Name>
@@ -59137,7 +59137,7 @@
                        <Node>
                         <Name>values</Name>
                         <Path>classLinkedHashMap.html</Path>
-                        <Anchor>a9963e9d9df74ec0f589efe7d81d74c30</Anchor>
+                        <Anchor>a255ccd94f6b65e44d3b76abc3a4254d9</Anchor>
                        </Node>
                       </Subnodes>
                      </Node>
@@ -63777,7 +63777,7 @@
                      <Node>
                       <Name>recover</Name>
                       <Path>classmesos_1_1slave_1_1Isolator.html</Path>
-                      <Anchor>a0d91782894ecd7bd20f5778d9e01c018</Anchor>
+                      <Anchor>a67d35276d3fb6a19cd9290bb4c7aa7f7</Anchor>
                      </Node>
                      <Node>
                       <Name>status</Name>
@@ -71171,7 +71171,7 @@
                    <Node>
                     <Name>ps</Name>
                     <Path>classDocker.html</Path>
-                    <Anchor>ae3d964240a23f43633d7f8c740ce246b</Anchor>
+                    <Anchor>a5ed360ee69fa51d583742bdf1e76e2c0</Anchor>
                    </Node>
                    <Node>
                     <Name>pull</Name>
@@ -84422,7 +84422,7 @@
                          <Node>
                           <Name>recover</Name>
                           <Path>classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html</Path>
-                          <Anchor>a502c8a09876e5a6f5ca0654297999a18</Anchor>
+                          <Anchor>ab1d7d003cfa4c8c25bdc98f91619e71a</Anchor>
                          </Node>
                          <Node>
                           <Name>supportsNesting</Name>
@@ -85095,7 +85095,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html</Path>
-                            <Anchor>ab24786a8441e1550e4f007c2aa2a958e</Anchor>
+                            <Anchor>a89675b3cc1907054e4787f9967d49c58</Anchor>
                            </Node>
                            <Node>
                             <Name>status</Name>
@@ -85433,7 +85433,7 @@
                              <Node>
                               <Name>recover</Name>
                               <Path>classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html</Path>
-                              <Anchor>ac2ae1c7f126584259b1e75769957b934</Anchor>
+                              <Anchor>a7fc8cf2248d2bdb7986821f88b2c25bb</Anchor>
                              </Node>
                              <Node>
                               <Name>supportsNesting</Name>
@@ -85563,7 +85563,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html</Path>
-                            <Anchor>a21e1c7227bc8aca8c6a5ab1bdd9ff4f8</Anchor>
+                            <Anchor>ae177456bcfd551ddbc5060fab94cd980</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -85636,7 +85636,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html</Path>
-                            <Anchor>ad8c9d395b93777db8969eec7e0e9f454</Anchor>
+                            <Anchor>afa545f4dcd149870e76a021fdceb296b</Anchor>
                            </Node>
                            <Node>
                             <Name>update</Name>
@@ -85837,7 +85837,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html</Path>
-                            <Anchor>a836b9f7f519de28a2b2cb49634593117</Anchor>
+                            <Anchor>ac3aa20a594857d796fefff13181d5377</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -86140,7 +86140,7 @@
                              <Node>
                               <Name>recover</Name>
                               <Path>classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html</Path>
-                              <Anchor>a87f3c1ed9cf30ab3916404b66bc121dd</Anchor>
+                              <Anchor>af94c99e1b44722fd577aa9be6e97eb8e</Anchor>
                              </Node>
                              <Node>
                               <Name>status</Name>
@@ -86833,7 +86833,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html</Path>
-                            <Anchor>aa97ac1583b2abf4a2543dbbc9b19d1a1</Anchor>
+                            <Anchor>a472e41ec3bd5da4976f763a71262de24</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -87013,7 +87013,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html</Path>
-                            <Anchor>a0cadbb9a9d14aa3fb7997c48b44c078a</Anchor>
+                            <Anchor>a823b24b8100090f2ebe3f7863ea088d9</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -87088,7 +87088,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html</Path>
-                            <Anchor>af5755ddab871fe5096a19dfd117ecf9c</Anchor>
+                            <Anchor>a66a8a20877c3559b722116f93eeb76c1</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -87140,7 +87140,7 @@
                            <Node>
                             <Name>recover</Name>
                             <Path>classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html</Path>
-                            <Anchor>a24c49ba3038764a7a2acef630526b9c5</Anchor>
+                            <Anchor>aadb76fe69fa14167319d37b382886c41</Anchor>
                            </Node>
                            <Node>
                             <Name>supportsNesting</Name>
@@ -87429,7 +87429,7 @@
                          <Node>
                           <Name>recover</Name>
                           <Path>classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html</Path>
-                          <Anchor>a7e3f98099d4bdd27753980b5aaea1b37</Anchor>
+                          <Anchor>a0fe8fd306e5dc57dd5c6dab7e9a811b1</Anchor>
                          </Node>
                          <Node>
                           <Name>update</Name>
@@ -88408,7 +88408,7 @@
                        <Node>
                         <Name>recover</Name>
                         <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolator.html</Path>
-                        <Anchor>a0cef8efea5b88caa294e7e46dbc6155e</Anchor>
+                        <Anchor>aee2378521ee324973937ef921cce2113</Anchor>
                        </Node>
                        <Node>
                         <Name>status</Name>
@@ -88469,7 +88469,7 @@
                        <Node>
                         <Name>recover</Name>
                         <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-                        <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+                        <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
                        </Node>
                        <Node>
                         <Name>status</Name>
@@ -88625,7 +88625,7 @@
                        <Node>
                         <Name>recover</Name>
                         <Path>classmesos_1_1internal_1_1slave_1_1Launcher.html</Path>
-                        <Anchor>a0a8e37767fb1a65c63bb31b26727697e</Anchor>
+                        <Anchor>a93e8c38b7a4d497b37ce82d9108fedb4</Anchor>
                        </Node>
                        <Node>
                         <Name>status</Name>
@@ -88661,7 +88661,7 @@
                        <Node>
                         <Name>recover</Name>
                         <Path>classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html</Path>
-                        <Anchor>a816fe950257e14454d13dff95f0f3e59</Anchor>
+                        <Anchor>a12c673740bdf8db16b19e77e6d5e2804</Anchor>
                        </Node>
                        <Node>
                         <Name>status</Name>
@@ -88703,7 +88703,7 @@
                        <Node>
                         <Name>recover</Name>
                         <Path>classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html</Path>
-                        <Anchor>a699c488ac03f1df509d0e09bb021a239</Anchor>
+                        <Anchor>a4a2f84c9e3c2b8e14882baf8522b34e9</Anchor>
                        </Node>
                        <Node>
                         <Name>status</Name>
@@ -91373,7 +91373,7 @@
                    <Node>
                     <Name>___run</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Slave.html</Path>
-                    <Anchor>ac044f6428269d27e69f1652c5b07f5bc</Anchor>
+                    <Anchor>a14a15d2b5e7d53570e69704aebba903b</Anchor>
                    </Node>
                    <Node>
                     <Name>___statusUpdate</Name>
@@ -92013,7 +92013,7 @@
                    <Node>
                     <Name>queuedTaskGroups</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Executor.html</Path>
-                    <Anchor>a2fc2e9b051c144f259f003b79a3d5ec3</Anchor>
+                    <Anchor>a9d9f183a72bf7104a6f3cfdd5195bfed</Anchor>
                    </Node>
                    <Node>
                     <Name>queuedTasks</Name>
@@ -92176,7 +92176,7 @@
                    <Node>
                     <Name>pendingTaskGroups</Name>
                     <Path>classmesos_1_1internal_1_1slave_1_1Framework.html</Path>
-                    <Anchor>aa52d24c559cecfc18ba6167dd72c1988</Anchor>
+                    <Anchor>ab65e86cf570efa3692d0453d4f875d82</Anchor>
                    </Node>
                    <Node>
                     <Name>pendingTasks</Name>
@@ -93155,7 +93155,7 @@
                      <Node>
                       <Name>MOCK_METHOD2</Name>
                       <Path>classmesos_1_1internal_1_1tests_1_1MockIsolator.html</Path>
-                      <Anchor>ac1ed3bf54f9ce241a6d300d537b647ec</Anchor>
+                      <Anchor>ac9c79f52b7b0a31641874e4a036a4359</Anchor>
                      </Node>
                      <Node>
                       <Name>MOCK_METHOD2</Name>
@@ -93197,7 +93197,7 @@
                      <Node>
                       <Name>MOCK_METHOD1</Name>
                       <Path>classmesos_1_1internal_1_1tests_1_1TestLauncher.html</Path>
-                      <Anchor>aa11a2562a50b189dc11365a761989b83</Anchor>
+                      <Anchor>a364457036ee4eee072a47db251e590ab</Anchor>
                      </Node>
                      <Node>
                       <Name>MOCK_METHOD1</Name>
@@ -96063,7 +96063,7 @@
                    <Node>
                     <Name>_ps</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-                    <Anchor>acb65df9983566558465b3a3464724c12</Anchor>
+                    <Anchor>a047b723dade233ef8cca866fc3838cb5</Anchor>
                    </Node>
                    <Node>
                     <Name>_pull</Name>
@@ -96083,7 +96083,7 @@
                    <Node>
                     <Name>MOCK_CONST_METHOD2</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-                    <Anchor>ae85681ccc730211e96c15f662c2d06f7</Anchor>
+                    <Anchor>a8589c9051ba96dca1090a867ecc1da82</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_CONST_METHOD2</Name>
@@ -96378,7 +96378,7 @@
                    <Node>
                     <Name>MOCK_METHOD6</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-                    <Anchor>a1ef0a856e5441536e89015c667394e2d</Anchor>
+                    <Anchor>a722a0afa528086a83da14519f985a3f8</Anchor>
                    </Node>
                    <Node>
                     <Name>MOCK_METHOD6</Name>
@@ -96403,7 +96403,7 @@
                    <Node>
                     <Name>unmocked____run</Name>
                     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-                    <Anchor>ab4891406639fb9b205492f5e24e89d24</Anchor>
+                    <Anchor>ae39ae7d13fc1fd4dc53f7e330ae7eca6</Anchor>
                    </Node>
                    <Node>
                     <Name>unmocked___recover</Name>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/Tokens.xml
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/Tokens.xml b/content/api/latest/c++/Tokens.xml
index 241da23..a508f50 100644
--- a/content/api/latest/c++/Tokens.xml
+++ b/content/api/latest/c++/Tokens.xml
@@ -480,7 +480,7 @@
       <Scope>process</Scope>
     </TokenIdentifier>
     <Path>namespaceprocess.html</Path>
-    <Anchor>a0f89a937c1caa20e3048e16aeb0c9736</Anchor>
+    <Anchor>a871061d70cd1c8bf39df4d1154cd1857</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -502,7 +502,7 @@
       <Scope>process</Scope>
     </TokenIdentifier>
     <Path>namespaceprocess.html</Path>
-    <Anchor>a9244f063b856adbc7182f8620b01034c</Anchor>
+    <Anchor>a4e2dd66121c628a77b57766a7a276838</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -31611,7 +31611,7 @@
       <Scope>Docker</Scope>
     </TokenIdentifier>
     <Path>classDocker.html</Path>
-    <Anchor>ae3d964240a23f43633d7f8c740ce246b</Anchor>
+    <Anchor>a5ed360ee69fa51d583742bdf1e76e2c0</Anchor>
     <DeclaredIn>docker.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -33160,7 +33160,7 @@
       <Scope>hashmap</Scope>
     </TokenIdentifier>
     <Path>classhashmap.html</Path>
-    <Anchor>a3e6a1fdf47dc2216eb8c0900e0bc969e</Anchor>
+    <Anchor>a21a6e0bdd1e079aec882826188899387</Anchor>
     <DeclaredIn>hashmap.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -35457,7 +35457,7 @@
       <Scope>LinkedHashMap</Scope>
     </TokenIdentifier>
     <Path>classLinkedHashMap.html</Path>
-    <Anchor>a06baf18c4e2394b6cdc4da4e0c6f4348</Anchor>
+    <Anchor>a39b47c86859d23ada5ef4f2ccd2de35a</Anchor>
     <DeclaredIn>linkedhashmap.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -35468,7 +35468,7 @@
       <Scope>LinkedHashMap</Scope>
     </TokenIdentifier>
     <Path>classLinkedHashMap.html</Path>
-    <Anchor>a9963e9d9df74ec0f589efe7d81d74c30</Anchor>
+    <Anchor>a255ccd94f6b65e44d3b76abc3a4254d9</Anchor>
     <DeclaredIn>linkedhashmap.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -89858,7 +89858,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -91143,7 +91143,7 @@
       <Scope>mesos::internal::slave::CgroupsIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html</Path>
-    <Anchor>ab24786a8441e1550e4f007c2aa2a958e</Anchor>
+    <Anchor>a89675b3cc1907054e4787f9967d49c58</Anchor>
     <DeclaredIn>cgroups.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -95725,7 +95725,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -96242,7 +96242,7 @@
       <Scope>mesos::internal::slave::DockerVolumeIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html</Path>
-    <Anchor>ac2ae1c7f126584259b1e75769957b934</Anchor>
+    <Anchor>a7fc8cf2248d2bdb7986821f88b2c25bb</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -96814,7 +96814,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -97703,7 +97703,7 @@
       <Scope>mesos::internal::slave::Executor</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Executor.html</Path>
-    <Anchor>a2fc2e9b051c144f259f003b79a3d5ec3</Anchor>
+    <Anchor>a9d9f183a72bf7104a6f3cfdd5195bfed</Anchor>
   </Token>
   <Token>
     <TokenIdentifier>
@@ -100414,7 +100414,7 @@
       <Scope>mesos::internal::slave::Framework</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Framework.html</Path>
-    <Anchor>aa52d24c559cecfc18ba6167dd72c1988</Anchor>
+    <Anchor>ab65e86cf570efa3692d0453d4f875d82</Anchor>
   </Token>
   <Token>
     <TokenIdentifier>
@@ -101925,7 +101925,7 @@
       <Scope>mesos::internal::slave::IOSwitchboard</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html</Path>
-    <Anchor>a502c8a09876e5a6f5ca0654297999a18</Anchor>
+    <Anchor>ab1d7d003cfa4c8c25bdc98f91619e71a</Anchor>
     <DeclaredIn>switchboard.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -103030,7 +103030,7 @@
       <Scope>mesos::internal::slave::Launcher</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Launcher.html</Path>
-    <Anchor>a0a8e37767fb1a65c63bb31b26727697e</Anchor>
+    <Anchor>a93e8c38b7a4d497b37ce82d9108fedb4</Anchor>
     <DeclaredIn>launcher.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -103128,7 +103128,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -103656,7 +103656,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -104173,7 +104173,7 @@
       <Scope>mesos::internal::slave::LinuxFilesystemIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html</Path>
-    <Anchor>a21e1c7227bc8aca8c6a5ab1bdd9ff4f8</Anchor>
+    <Anchor>ae177456bcfd551ddbc5060fab94cd980</Anchor>
     <DeclaredIn>linux.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -104690,7 +104690,7 @@
       <Scope>mesos::internal::slave::LinuxLauncher</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html</Path>
-    <Anchor>a699c488ac03f1df509d0e09bb021a239</Anchor>
+    <Anchor>a4a2f84c9e3c2b8e14882baf8522b34e9</Anchor>
     <DeclaredIn>linux_launcher.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -107314,7 +107314,7 @@
       <Scope>mesos::internal::slave::MesosIsolator</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolator.html</Path>
-    <Anchor>a0cef8efea5b88caa294e7e46dbc6155e</Anchor>
+    <Anchor>aee2378521ee324973937ef921cce2113</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -107413,7 +107413,7 @@
       <Scope>mesos::slave::Isolator</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1slave_1_1Isolator.html</Path>
-    <Anchor>a0d91782894ecd7bd20f5778d9e01c018</Anchor>
+    <Anchor>a67d35276d3fb6a19cd9290bb4c7aa7f7</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -107478,7 +107478,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -108370,7 +108370,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -108909,7 +108909,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -110689,7 +110689,7 @@
       <Scope>mesos::internal::slave::NetworkCniIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html</Path>
-    <Anchor>a87f3c1ed9cf30ab3916404b66bc121dd</Anchor>
+    <Anchor>af94c99e1b44722fd577aa9be6e97eb8e</Anchor>
     <DeclaredIn>cni.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -111887,6 +111887,17 @@
   </Token>
   <Token>
     <TokenIdentifier>
+      <Name>recover</Name>
+      <APILanguage>cpp</APILanguage>
+      <Type>instm</Type>
+      <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
+    </TokenIdentifier>
+    <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
+    <DeclaredIn>isolator.hpp</DeclaredIn>
+  </Token>
+  <Token>
+    <TokenIdentifier>
       <Name>isolate</Name>
       <APILanguage>cpp</APILanguage>
       <Type>instm</Type>
@@ -112624,7 +112635,7 @@
       <Scope>mesos::internal::slave::NvidiaGpuIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html</Path>
-    <Anchor>a836b9f7f519de28a2b2cb49634593117</Anchor>
+    <Anchor>ac3aa20a594857d796fefff13181d5377</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -114499,6 +114510,17 @@
   </Token>
   <Token>
     <TokenIdentifier>
+      <Name>recover</Name>
+      <APILanguage>cpp</APILanguage>
+      <Type>instm</Type>
+      <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
+    </TokenIdentifier>
+    <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
+    <DeclaredIn>isolator.hpp</DeclaredIn>
+  </Token>
+  <Token>
+    <TokenIdentifier>
       <Name>status</Name>
       <APILanguage>cpp</APILanguage>
       <Type>instm</Type>
@@ -116028,7 +116050,7 @@
       <Scope>mesos::internal::slave::PosixIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html</Path>
-    <Anchor>a7e3f98099d4bdd27753980b5aaea1b37</Anchor>
+    <Anchor>a0fe8fd306e5dc57dd5c6dab7e9a811b1</Anchor>
     <DeclaredIn>posix.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -116609,7 +116631,7 @@
       <Scope>mesos::internal::slave::PosixDiskIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html</Path>
-    <Anchor>aa97ac1583b2abf4a2543dbbc9b19d1a1</Anchor>
+    <Anchor>a472e41ec3bd5da4976f763a71262de24</Anchor>
     <DeclaredIn>disk.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -117177,7 +117199,7 @@
       <Scope>mesos::internal::slave::PosixFilesystemIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html</Path>
-    <Anchor>ad8c9d395b93777db8969eec7e0e9f454</Anchor>
+    <Anchor>afa545f4dcd149870e76a021fdceb296b</Anchor>
     <DeclaredIn>posix.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -117777,7 +117799,7 @@
       <Scope>mesos::internal::slave::PosixIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html</Path>
-    <Anchor>a7e3f98099d4bdd27753980b5aaea1b37</Anchor>
+    <Anchor>a0fe8fd306e5dc57dd5c6dab7e9a811b1</Anchor>
     <DeclaredIn>posix.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -118325,7 +118347,7 @@
       <Scope>mesos::internal::slave::PosixIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html</Path>
-    <Anchor>a7e3f98099d4bdd27753980b5aaea1b37</Anchor>
+    <Anchor>a0fe8fd306e5dc57dd5c6dab7e9a811b1</Anchor>
     <DeclaredIn>posix.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -118917,7 +118939,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -120228,7 +120250,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -120833,7 +120855,7 @@
       <Scope>mesos::internal::slave::Slave</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Slave.html</Path>
-    <Anchor>ac044f6428269d27e69f1652c5b07f5bc</Anchor>
+    <Anchor>a14a15d2b5e7d53570e69704aebba903b</Anchor>
     <DeclaredIn>slave.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -122236,7 +122258,7 @@
       <Scope>mesos::internal::slave::SubprocessLauncher</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html</Path>
-    <Anchor>a816fe950257e14454d13dff95f0f3e59</Anchor>
+    <Anchor>a12c673740bdf8db16b19e77e6d5e2804</Anchor>
     <DeclaredIn>launcher.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -123327,7 +123349,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -123866,7 +123888,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -124383,7 +124405,7 @@
       <Scope>mesos::internal::slave::VolumeSandboxPathIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html</Path>
-    <Anchor>a0cadbb9a9d14aa3fb7997c48b44c078a</Anchor>
+    <Anchor>a823b24b8100090f2ebe3f7863ea088d9</Anchor>
     <DeclaredIn>sandbox_path.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -124944,7 +124966,7 @@
       <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
-    <Anchor>adea82f6dd9074b11d8655f3ddbd2c7c7</Anchor>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -125450,7 +125472,7 @@
       <Scope>mesos::internal::slave::WindowsCpuIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html</Path>
-    <Anchor>af5755ddab871fe5096a19dfd117ecf9c</Anchor>
+    <Anchor>a66a8a20877c3559b722116f93eeb76c1</Anchor>
     <DeclaredIn>cpu.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -125989,7 +126011,7 @@
       <Scope>mesos::internal::slave::PosixFilesystemIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html</Path>
-    <Anchor>ad8c9d395b93777db8969eec7e0e9f454</Anchor>
+    <Anchor>afa545f4dcd149870e76a021fdceb296b</Anchor>
     <DeclaredIn>posix.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -126559,7 +126581,7 @@
       <Scope>mesos::internal::slave::WindowsMemIsolatorProcess</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html</Path>
-    <Anchor>a24c49ba3038764a7a2acef630526b9c5</Anchor>
+    <Anchor>aadb76fe69fa14167319d37b382886c41</Anchor>
     <DeclaredIn>mem.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -127180,6 +127202,17 @@
   </Token>
   <Token>
     <TokenIdentifier>
+      <Name>recover</Name>
+      <APILanguage>cpp</APILanguage>
+      <Type>instm</Type>
+      <Scope>mesos::internal::slave::MesosIsolatorProcess</Scope>
+    </TokenIdentifier>
+    <Path>classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html</Path>
+    <Anchor>a426eac2fa6176c91bef2cb8175eab24f</Anchor>
+    <DeclaredIn>isolator.hpp</DeclaredIn>
+  </Token>
+  <Token>
+    <TokenIdentifier>
       <Name>isolate</Name>
       <APILanguage>cpp</APILanguage>
       <Type>instm</Type>
@@ -137352,7 +137385,7 @@
       <Scope>mesos::internal::tests::MockDocker</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-    <Anchor>ae85681ccc730211e96c15f662c2d06f7</Anchor>
+    <Anchor>a8589c9051ba96dca1090a867ecc1da82</Anchor>
     <DeclaredIn>mock_docker.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -137407,7 +137440,7 @@
       <Scope>mesos::internal::tests::MockDocker</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1MockDocker.html</Path>
-    <Anchor>acb65df9983566558465b3a3464724c12</Anchor>
+    <Anchor>a047b723dade233ef8cca866fc3838cb5</Anchor>
     <DeclaredIn>mock_docker.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -137528,7 +137561,7 @@
       <Scope>Docker</Scope>
     </TokenIdentifier>
     <Path>classDocker.html</Path>
-    <Anchor>ae3d964240a23f43633d7f8c740ce246b</Anchor>
+    <Anchor>a5ed360ee69fa51d583742bdf1e76e2c0</Anchor>
     <DeclaredIn>docker.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -139404,7 +139437,7 @@
       <Scope>mesos::internal::tests::MockIsolator</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1MockIsolator.html</Path>
-    <Anchor>ac1ed3bf54f9ce241a6d300d537b647ec</Anchor>
+    <Anchor>ac9c79f52b7b0a31641874e4a036a4359</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -139514,7 +139547,7 @@
       <Scope>mesos::slave::Isolator</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1slave_1_1Isolator.html</Path>
-    <Anchor>a0d91782894ecd7bd20f5778d9e01c018</Anchor>
+    <Anchor>a67d35276d3fb6a19cd9290bb4c7aa7f7</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -140332,7 +140365,7 @@
       <Scope>mesos::internal::tests::MockSlave</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-    <Anchor>a1ef0a856e5441536e89015c667394e2d</Anchor>
+    <Anchor>a722a0afa528086a83da14519f985a3f8</Anchor>
     <DeclaredIn>mock_slave.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -140343,7 +140376,7 @@
       <Scope>mesos::internal::tests::MockSlave</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1MockSlave.html</Path>
-    <Anchor>ab4891406639fb9b205492f5e24e89d24</Anchor>
+    <Anchor>ae39ae7d13fc1fd4dc53f7e330ae7eca6</Anchor>
     <DeclaredIn>mock_slave.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -140750,7 +140783,7 @@
       <Scope>mesos::internal::slave::Slave</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Slave.html</Path>
-    <Anchor>ac044f6428269d27e69f1652c5b07f5bc</Anchor>
+    <Anchor>a14a15d2b5e7d53570e69704aebba903b</Anchor>
     <DeclaredIn>slave.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -143577,7 +143610,7 @@
       <Scope>mesos::internal::tests::TestLauncher</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1tests_1_1TestLauncher.html</Path>
-    <Anchor>aa11a2562a50b189dc11365a761989b83</Anchor>
+    <Anchor>a364457036ee4eee072a47db251e590ab</Anchor>
     <DeclaredIn>launcher.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -143632,7 +143665,7 @@
       <Scope>mesos::internal::slave::Launcher</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1internal_1_1slave_1_1Launcher.html</Path>
-    <Anchor>a0a8e37767fb1a65c63bb31b26727697e</Anchor>
+    <Anchor>a93e8c38b7a4d497b37ce82d9108fedb4</Anchor>
     <DeclaredIn>launcher.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -152379,7 +152412,7 @@
       <Scope>mesos::slave::Isolator</Scope>
     </TokenIdentifier>
     <Path>classmesos_1_1slave_1_1Isolator.html</Path>
-    <Anchor>a0d91782894ecd7bd20f5778d9e01c018</Anchor>
+    <Anchor>a67d35276d3fb6a19cd9290bb4c7aa7f7</Anchor>
     <DeclaredIn>isolator.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -167580,7 +167613,7 @@
       <Scope>process</Scope>
     </TokenIdentifier>
     <Path>namespaceprocess.html</Path>
-    <Anchor>a0f89a937c1caa20e3048e16aeb0c9736</Anchor>
+    <Anchor>a871061d70cd1c8bf39df4d1154cd1857</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -167602,7 +167635,7 @@
       <Scope>process</Scope>
     </TokenIdentifier>
     <Path>namespaceprocess.html</Path>
-    <Anchor>a9244f063b856adbc7182f8620b01034c</Anchor>
+    <Anchor>a4e2dd66121c628a77b57766a7a276838</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -181934,7 +181967,7 @@
       <Scope>hashmap&lt; std::string, std::string, CaseInsensitiveHash, CaseInsensitiveEqual &gt;</Scope>
     </TokenIdentifier>
     <Path>classhashmap.html</Path>
-    <Anchor>a3e6a1fdf47dc2216eb8c0900e0bc969e</Anchor>
+    <Anchor>a21a6e0bdd1e079aec882826188899387</Anchor>
   </Token>
   <Token>
     <TokenIdentifier>
@@ -185938,7 +185971,7 @@
       <Scope>process::internal::AwaitProcess</Scope>
     </TokenIdentifier>
     <Path>classprocess_1_1internal_1_1AwaitProcess.html</Path>
-    <Anchor>a3c7eb50fa22cee33c4a23485d08866d8</Anchor>
+    <Anchor>a0e045da1bceed37fa84ede31b1609ea2</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -186356,7 +186389,7 @@
       <Scope>process::internal::CollectProcess</Scope>
     </TokenIdentifier>
     <Path>classprocess_1_1internal_1_1CollectProcess.html</Path>
-    <Anchor>aeae1fffc984af46ddb3b0570408c5ee0</Anchor>
+    <Anchor>af00208a3334e48650ebbc034902b1dfe</Anchor>
     <DeclaredIn>collect.hpp</DeclaredIn>
   </Token>
   <Token>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classDocker-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classDocker-members.html b/content/api/latest/c++/classDocker-members.html
index b3a5c7b..ba025e4 100644
--- a/content/api/latest/c++/classDocker-members.html
+++ b/content/api/latest/c++/classDocker-members.html
@@ -59,7 +59,7 @@
   <tr><td class="entry"><a class="el" href="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a">getSocket</a>()</td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a>(const std::string &amp;containerName, const Option&lt; Duration &gt; &amp;retryInterval=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classDocker.html#a3b46502ea75be07f46e5e92acaea7917">kill</a>(const std::string &amp;containerName, int signal) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>(bool all=false, const Option&lt; std::string &gt; &amp;prefix=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a>(bool all=false, const Option&lt; std::string &gt; &amp;prefix=None()) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>(const std::string &amp;directory, const std::string &amp;image, bool force=false) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classDocker.html#afd1dd8dc67fd3d111164ff80f90761f4">rm</a>(const std::string &amp;containerName, bool force=false) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>(const RunOptions &amp;options, const process::Subprocess::IO &amp;_stdout=process::Subprocess::FD(STDOUT_FILENO), const process::Subprocess::IO &amp;_stderr=process::Subprocess::FD(STDERR_FILENO)) const </td><td class="entry"><a class="el" href="classDocker.html">Docker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classDocker.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classDocker.html b/content/api/latest/c++/classDocker.html
index ccfca23..12805ac 100644
--- a/content/api/latest/c++/classDocker.html
+++ b/content/api/latest/c++/classDocker.html
@@ -97,8 +97,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:afd1dd8dc67fd3d111164ff80f90761f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3be28ab0231c0fefaf839661b790c457"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a> (const std::string &amp;containerName, const <a class="el" href="classOption.html">Option</a>&lt; <a class="el" href="classDuration.html">Duration</a> &gt; &amp;retryInterval=<a class="el" href="structNone.html">None</a>()) const </td></tr>
 <tr class="separator:a3be28ab0231c0fefaf839661b790c457"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae3d964240a23f43633d7f8c740ce246b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::list&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a> (bool all=false, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix=<a class="el" href="structNone.html">None</a>()) const </td></tr>
-<tr class="separator:ae3d964240a23f43633d7f8c740ce246b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ed360ee69fa51d583742bdf1e76e2c0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; std::vector&lt; <a class="el" href="classDocker_1_1Container.html">Container</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a> (bool all=false, const <a class="el" href="classOption.html">Option</a>&lt; std::string &gt; &amp;prefix=<a class="el" href="structNone.html">None</a>()) const </td></tr>
+<tr class="separator:a5ed360ee69fa51d583742bdf1e76e2c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad4131f2a6b66ab4661339c51d20d812d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classDocker_1_1Image.html">Image</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a> (const std::string &amp;directory, const std::string &amp;image, bool force=false) const </td></tr>
 <tr class="separator:ad4131f2a6b66ab4661339c51d20d812d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac0a745d178d4607acca6097a9cb33a5f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDocker.html#ac0a745d178d4607acca6097a9cb33a5f">validateVersion</a> (const <a class="el" href="structVersion.html">Version</a> &amp;minVersion) const </td></tr>
@@ -343,7 +343,7 @@ Protected Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ae3d964240a23f43633d7f8c740ce246b"></a>
+<a class="anchor" id="a5ed360ee69fa51d583742bdf1e76e2c0"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -351,7 +351,7 @@ Protected Member Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;std::list&lt;<a class="el" href="classDocker_1_1Container.html">Container</a>&gt; &gt; Docker::ps </td>
+          <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;std::vector&lt;<a class="el" href="classDocker_1_1Container.html">Container</a>&gt; &gt; Docker::ps </td>
           <td>(</td>
           <td class="paramtype">bool&#160;</td>
           <td class="paramname"><em>all</em> = <code>false</code>, </td>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classLinkedHashMap-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classLinkedHashMap-members.html b/content/api/latest/c++/classLinkedHashMap-members.html
index c44139c..6fd6de3 100644
--- a/content/api/latest/c++/classLinkedHashMap-members.html
+++ b/content/api/latest/c++/classLinkedHashMap-members.html
@@ -65,7 +65,7 @@
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#ae6cfccfbd837f8f746d1e1efeeeb5455">entry</a> typedef</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">erase</a>(const Key &amp;key)</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded">get</a>(const Key &amp;key) const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">keys</a>() const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">keys</a>() const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHashMap</a>()=default</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">LinkedHashMap</a>(const LinkedHashMap&lt; Key, Value &gt; &amp;other)</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#a20274f613d8a3256ccbd24c607b79b5f">LinkedHashMap</a>(LinkedHashMap&lt; Key, Value &gt; &amp;&amp;)=delete</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"></td></tr>
@@ -75,7 +75,7 @@
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#aeb567159da25077c2fed08221a19ab71">operator=</a>(LinkedHashMap &amp;&amp;)=delete</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">operator[]</a>(const Key &amp;key)</td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">size</a>() const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">values</a>() const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">values</a>() const </td><td class="entry"><a class="el" href="classLinkedHashMap.html">LinkedHashMap&lt; Key, Value &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classLinkedHashMap.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classLinkedHashMap.html b/content/api/latest/c++/classLinkedHashMap.html
index a9411d3..d0c1abd 100644
--- a/content/api/latest/c++/classLinkedHashMap.html
+++ b/content/api/latest/c++/classLinkedHashMap.html
@@ -90,10 +90,10 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a1e01999a72b4e7f0d2541ff1b9892123"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aeef7db0820a261eb3629b229f9952049"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">erase</a> (const Key &amp;key)</td></tr>
 <tr class="separator:aeef7db0820a261eb3629b229f9952049"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06baf18c4e2394b6cdc4da4e0c6f4348"><td class="memItemLeft" align="right" valign="top">std::list&lt; Key &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">keys</a> () const </td></tr>
-<tr class="separator:a06baf18c4e2394b6cdc4da4e0c6f4348"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9963e9d9df74ec0f589efe7d81d74c30"><td class="memItemLeft" align="right" valign="top">std::list&lt; Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">values</a> () const </td></tr>
-<tr class="separator:a9963e9d9df74ec0f589efe7d81d74c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39b47c86859d23ada5ef4f2ccd2de35a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; Key &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">keys</a> () const </td></tr>
+<tr class="separator:a39b47c86859d23ada5ef4f2ccd2de35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a255ccd94f6b65e44d3b76abc3a4254d9"><td class="memItemLeft" align="right" valign="top">std::vector&lt; Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">values</a> () const </td></tr>
+<tr class="separator:a255ccd94f6b65e44d3b76abc3a4254d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adc48b5dccbbe7fcb942d2f425ca6534a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">size</a> () const </td></tr>
 <tr class="separator:adc48b5dccbbe7fcb942d2f425ca6534a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab364b2e480e7913f5b999742104b9ad5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">empty</a> () const </td></tr>
@@ -511,7 +511,7 @@ template&lt;typename Key, typename Value&gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="a06baf18c4e2394b6cdc4da4e0c6f4348"></a>
+<a class="anchor" id="a39b47c86859d23ada5ef4f2ccd2de35a"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -521,7 +521,7 @@ template&lt;typename Key, typename Value&gt; </div>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">std::list&lt;Key&gt; <a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; Key, Value &gt;::keys </td>
+          <td class="memname">std::vector&lt;Key&gt; <a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; Key, Value &gt;::keys </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td> const</td>
@@ -639,7 +639,7 @@ template&lt;typename Key, typename Value&gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="a9963e9d9df74ec0f589efe7d81d74c30"></a>
+<a class="anchor" id="a255ccd94f6b65e44d3b76abc3a4254d9"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -649,7 +649,7 @@ template&lt;typename Key, typename Value&gt; </div>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">std::list&lt;Value&gt; <a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; Key, Value &gt;::values </td>
+          <td class="memname">std::vector&lt;Value&gt; <a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; Key, Value &gt;::values </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td> const</td>


[33/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/docker_2docker_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/docker_2docker_8hpp_source.html b/content/api/latest/c++/docker_2docker_8hpp_source.html
index f86907f..c753ad6 100644
--- a/content/api/latest/c++/docker_2docker_8hpp_source.html
+++ b/content/api/latest/c++/docker_2docker_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">docker.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="docker_2docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><s
 pan class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// di
 stributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __DOCKER_HPP__</span></div><div class="line"><a name="l00
 019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">p
 rocess/future.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="json_8hpp.html">stout/json.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span c
 lass="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="path_8hpp.html">stout/path.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2version_8hpp.html">stout/version.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;
 </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="rm_8hpp.html">stout/os/rm.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2messages_2flags_8hpp.html">messages/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// OS-specific default prefix
  to be used for the DOCKER_HOST environment</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// variable. Note that on Linux, the default prefix is the only prefix</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// available; only Windows supports multiple prefixes.</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// TODO(hausdorff): Add support for the Windows `tcp://` prefix as well.</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#ifdef __WINDOWS__</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">DEFAULT_DOCKER_HOST_PREFIX</a>[] = <span class="stringliteral"
 >&quot;npipe://&quot;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">   51</a></span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">DEFAULT_DOCKER_HOST_PREFIX</a>[] = <span class="stringliteral">&quot;unix://&quot;</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// Abstraction for working with Docker (modeled on CLI).</span></div><div class="line"><a name="l00055"></a><span class="linen
 o">   55</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// TODO(benh): Make futures returned by functions be discardable.</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classDocker.html">   57</a></span>&#160;<span class="keyword">class </span><a class="code" href="classDocker.html">Docker</a></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// Create Docker abstraction and optionally validate docker.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process:
 :Owned&lt;Docker&gt;</a>&gt; <a class="code" href="classDocker.html#a370c1d613e35cc8b8e393dc8c83876e6">create</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> std::string&amp; socket,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="namespaceappc_1_1spec.html#a1f003511d7ad7c4792223d0b11b60f62">validate</a> = <span class="keyword">true</span>,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; config = <a class="code" href="structNone.html">None</a>());</div><div class="l
 ine"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classDocker.html#abf91637f3f62b14134f06987e2d6cf16">   67</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classDocker.html#abf91637f3f62b14134f06987e2d6cf16">~Docker</a>() {}</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structDocker_1_1Device.html">   69</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structDocker_1_1Device.html">Device</a></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  {</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structDocker_1_1Device.html#aae6d15031248e229009ba54e7897ec81">   71</a></span>&#160;    <a class="code" href="classPath.html">Path</a> <a class
 ="code" href="structDocker_1_1Device.html#aae6d15031248e229009ba54e7897ec81">hostPath</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structDocker_1_1Device.html#a6d9a10b7266815d0e38624401fcee248">   72</a></span>&#160;    <a class="code" href="classPath.html">Path</a> <a class="code" href="structDocker_1_1Device.html#a6d9a10b7266815d0e38624401fcee248">containerPath</a>;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structDocker_1_1Device_1_1Access.html">   74</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structDocker_1_1Device_1_1Access.html">Access</a></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structDocker_1_1Device_1_1Access.html#aaf338c2ce31769707999
 e451d72b2072">   76</a></span>&#160;      <a class="code" href="structDocker_1_1Device_1_1Access.html#aaf338c2ce31769707999e451d72b2072">Access</a>() : <a class="code" href="structDocker_1_1Device_1_1Access.html#ab4a1a1a34181c1b542803ba637b3640b">read</a>(false), <a class="code" href="structDocker_1_1Device_1_1Access.html#a50be7cc67a985ab3fbc1a119e7c18bb6">write</a>(false), <a class="code" href="structDocker_1_1Device_1_1Access.html#a454de7a52e5aeae079b6487eaa8e993f">mknod</a>(false) {}</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structDocker_1_1Device_1_1Access.html#ab4a1a1a34181c1b542803ba637b3640b">   78</a></span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="structDocker_1_1Device_1_1Access.html#ab4a1a1a34181c1b542803ba637b3640b">read</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="str
 uctDocker_1_1Device_1_1Access.html#a50be7cc67a985ab3fbc1a119e7c18bb6">   79</a></span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="structDocker_1_1Device_1_1Access.html#a50be7cc67a985ab3fbc1a119e7c18bb6">write</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structDocker_1_1Device_1_1Access.html#a454de7a52e5aeae079b6487eaa8e993f">   80</a></span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="structDocker_1_1Device_1_1Access.html#a454de7a52e5aeae079b6487eaa8e993f">mknod</a>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    } <a class="code" href="structDocker_1_1Device.html#aba8dd66fc4f724c34d896f8e87cce72e">access</a>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  };</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">
 <a class="line" href="structDocker_1_1PortMapping.html">   84</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structDocker_1_1PortMapping.html">PortMapping</a></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  {</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structDocker_1_1PortMapping.html#a83397b57136d2d1801ff776e05e8aaee">   86</a></span>&#160;    uint32_t <a class="code" href="structDocker_1_1PortMapping.html#a83397b57136d2d1801ff776e05e8aaee">hostPort</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structDocker_1_1PortMapping.html#a5f73ec1d00e9bebe33b963a5f0bf04dc">   87</a></span>&#160;    uint32_t <a class="code" href="structDocker_1_1PortMapping.html#a5f73ec1d00e9bebe33b963a5f0bf04dc">containerPort</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structDocker_1_1PortMapping.html#a2af6ba4b
 5d848dacd369567906b127fc">   88</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structDocker_1_1PortMapping.html#a2af6ba4b5d848dacd369567906b127fc">protocol</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  };</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html">   91</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classDocker_1_1Container.html">Container</a></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keyword">static</span> <a class="code" href="c
 lassTry.html">Try&lt;Container&gt;</a> <a class="code" href="classDocker.html#a370c1d613e35cc8b8e393dc8c83876e6">create</a>(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">const</span> std::string&amp; output);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">// Returns the docker inspect output.</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a3c7827975fc6182997b44752c96ec1df">   98</a></span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="classDocker_1_1Container.html#a3c7827975fc6182997b44752c96ec1df">output</a>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</sp
 an>&#160;    <span class="comment">// Returns the ID of the container.</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a2d8c2defc4769ffe5374b269e46780cd">  101</a></span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="classDocker_1_1Container.html#a2d8c2defc4769ffe5374b269e46780cd">id</a>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">// Returns the name of the container.</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a2d653bf9d523e3c35536b3c56d8abdce">  104</a></span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="classDocker_1_1Container.html#a2d653bf9d523e3c35536b3c56d8abdce">name</a>;</div><div class="line"><a name="l00105"
 ></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="comment">// Returns the pid of the container, or None if the container is</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="comment">// not running.</span></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a825f1f81694908ea0d47a889f6cb71ea">  108</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> <a class="code" href="classDocker_1_1Container.html#a825f1f81694908ea0d47a889f6cb71ea">pid</a>;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">// Returns if the container has already started. This field is</span></di
 v><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="comment">// needed since pid is empty when the container terminates.</span></div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a3bb01922d502d092b8be21cef3a2c45c">  112</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classDocker_1_1Container.html#a3bb01922d502d092b8be21cef3a2c45c">started</a>;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">// Returns the IPv4 address of the container, or `None()` if no</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="comment">// IPv4 address has been assigned.</span></div><div class="line"><a name="l00116"></a><span class="l
 ineno"><a class="line" href="classDocker_1_1Container.html#a3f16c086b28059796d404e040612a8a2">  116</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1Container.html#a3f16c086b28059796d404e040612a8a2">ipAddress</a>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="comment">// Returns the IPv6 address of the container, or `None()` if no</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="comment">// IPv6 address has been assigned.</span></div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a78062b6302fdb628685c36a4b9e13e43">  120</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Op
 tion&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1Container.html#a78062b6302fdb628685c36a4b9e13e43">ip6Address</a>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a90c09ee24a831bd1c053234e51e66544">  122</a></span>&#160;    <span class="keyword">const</span> std::vector&lt;Device&gt; <a class="code" href="classDocker_1_1Container.html#a90c09ee24a831bd1c053234e51e66544">devices</a>;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="comment">// Returns the DNS nameservers set by &quot;--dns&quot; option.</span></div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a434939f30a9e9119fd06c54b81e117d3">  125</a></span>&#160;    <
 span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1Container.html#a434939f30a9e9119fd06c54b81e117d3">dns</a>;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="comment">// Returns the DNS options set by &quot;--dns-option&quot; option.</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#adb6b9484d8ccab9cf108594617d0b3ea">  128</a></span>&#160;    <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1Container.html#adb6b9484d8ccab9cf108594617d0b3ea">dnsOptions</a>;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">// Returns the DNS search dom
 ains set by &quot;--dns-search&quot; option.</span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classDocker_1_1Container.html#a57b751988fd965a91bcff284bba745a9">  131</a></span>&#160;    <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1Container.html#a57b751988fd965a91bcff284bba745a9">dnsSearch</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <a class="code" href="classDocker_1_1Container.html">Container</a>(</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">const</span> std::string&amp; _output,</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  
       <span class="keyword">const</span> std::string&amp; _id,</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">const</span> std::string&amp; _name,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a>&amp; _pid,</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keywordtype">bool</span> _started,</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _ipAddress,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _ip6Address,</div><div class="
 line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keyword">const</span> std::vector&lt;Device&gt;&amp; _devices,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; _dns,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; _dnsOptions,</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; _dnsSearch)</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      : output(_output),</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        id(_id),</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        name(_name),</div><div class="l
 ine"><a name="l00149"></a><span class="lineno">  149</span>&#160;        pid(_pid),</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        started(_started),</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        ipAddress(_ipAddress),</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        ip6Address(_ip6Address),</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        devices(_devices),</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        dns(_dns),</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        dnsOptions(_dnsOptions),</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        dnsSearch(_dnsSearch) {}</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  };</div><div class="line"><a name="l00158"><
 /a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classDocker_1_1Image.html">  159</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classDocker_1_1Image.html">Image</a></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Image&gt;</a> <a class="code" href="classDocker.html#a370c1d613e35cc8b8e393dc8c83876e6">create</a>(<span class="keyword">const</span> <a class="code" href="structJSON_1_1Object.html">JSON::Object</a>&amp; <a class="code" href="namespacemesos_1_1internal.html#a3752d85ef726065c6c1b946eef1ba87a">json</a>);</div><div class="line"><a name="l00163"><
 /a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classDocker_1_1Image.html#a43aec521773705fa0148bacdc493e5a9">  164</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::vector&lt;std::string&gt;</a>&gt; <a class="code" href="classDocker_1_1Image.html#a43aec521773705fa0148bacdc493e5a9">entrypoint</a>;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classDocker_1_1Image.html#a1f2babd3821e80ddf36c1f129528d5ef">  166</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::map&lt;std::string, std::string&gt;</a>&gt; <a class="code" href="classDocker_1_1Image.html#a1f2babd3821e80ddf36c1f129528d5ef">environment</a>;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span c
 lass="lineno">  168</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <a class="code" href="classDocker_1_1Image.html">Image</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::vector&lt;std::string&gt;&gt;&amp; _entrypoint,</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; _environment)</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      : entrypoint(_entrypoint),</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        environment(_environment) {}</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  };</div><div class="line"><a name="l00174"></a><span class="lineno">  
 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="comment">// See https://docs.docker.com/engine/reference/run for a complete</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="comment">// explanation of each option.</span></div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html">  177</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classDocker_1_1RunOptions.html">RunOptions</a></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;RunOptions&gt;</a> <a class="co
 de" href="classDocker.html#a370c1d613e35cc8b8e393dc8c83876e6">create</a>(</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keyword">const</span> mesos::ContainerInfo&amp; containerInfo,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">const</span> mesos::CommandInfo&amp; commandInfo,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keyword">const</span> std::string&amp; sandboxDirectory,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">const</span> std::string&amp; mappedDirectory,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keyword">c
 onst</span> <a class="code" href="classOption.html">Option&lt;mesos::Resources&gt;</a>&amp; resources = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">bool</span> enableCfsQuota = <span class="keyword">false</span>,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; env = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::vector&lt;Device&gt;&gt;&amp; devices = <a class="code" href="structNone.html">None</a>(),</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span 
 class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::internal::ContainerDNSInfo&gt;</a>&amp; defaultContainerDNS = <a class="code" href="structNone.html">None</a>()); <span class="comment">// NOLINT(whitespace/line_length)</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="comment">// &quot;--privileged&quot; option.</span></div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a33f18cefbc3ca182e25e11864aaf6b7c">  193</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classDocker_1_1RunOptions.html#a33f18cefbc3ca182e25e11864aaf6b7c">privileged</a>;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span 
 class="comment">// &quot;--cpu-shares&quot; option.</span></div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a9e9766db7938907f2c817285a23e7da4">  196</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;uint64_t&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a9e9766db7938907f2c817285a23e7da4">cpuShares</a>;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">// &quot;--cpu-quota&quot; option.</span></div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a38e3dcda8fe4518da90882bf7c3c4fa6">  199</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;uint64_t&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a38e3dcda8fe4518da90882bf7c3c4fa6">cpuQuota</a>;</div><
 div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">// &quot;--memory&quot; option.</span></div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a3646ddc4c72adc0ca32892889ecaaf42">  202</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;Bytes&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a3646ddc4c72adc0ca32892889ecaaf42">memory</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">// Environment variable overrides. These overrides will be passed</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="comment">// to docker container through &quot;--env-file&quot;
  option.</span></div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a755d1afbb3adbf654734d77834c2a5a6">  206</a></span>&#160;    std::map&lt;std::string, std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#a755d1afbb3adbf654734d77834c2a5a6">env</a>;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="comment">// &quot;--volume&quot; option.</span></div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#ab3f8493699e9598e9f8cccf21370a446">  209</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#ab3f8493699e9598e9f8cccf21370a446">volumes</a>;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l0021
 1"></a><span class="lineno">  211</span>&#160;    <span class="comment">// &quot;--volume-driver&quot; option.</span></div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a7423333c41f76267f5d5d7471598df2e">  212</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a7423333c41f76267f5d5d7471598df2e">volumeDriver</a>;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="comment">// &quot;--network&quot; option.</span></div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a220a2058369e4c4c0470c2af55bd70b0">  215</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1RunOp
 tions.html#a220a2058369e4c4c0470c2af55bd70b0">network</a>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="comment">// &quot;--hostname&quot; option.</span></div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#aaec598bf7739b0ebfbe35910dc9ebcd1">  218</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#aaec598bf7739b0ebfbe35910dc9ebcd1">hostname</a>;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="comment">// &quot;--dns&quot; option.</span></div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a2b74b
 9166bedf91ee6095aaf0f360ec1">  221</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#a2b74b9166bedf91ee6095aaf0f360ec1">dns</a>;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="comment">// &quot;--dns-search&quot; option.</span></div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a63a9cb71e8f2d710c2fa42d8ba40c819">  224</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#a63a9cb71e8f2d710c2fa42d8ba40c819">dnsSearch</a>;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="comment">// &quot;--dns-opt&quot; option.</span></div><div class="line"><a name="
 l00227"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#ad5224b97473b64a722903ae1fba7da6e">  227</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#ad5224b97473b64a722903ae1fba7da6e">dnsOpt</a>;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="comment">// Port mappings for &quot;-p&quot; option.</span></div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#ae237a5dab57584fae5f4dfb6ebebad82">  230</a></span>&#160;    std::vector&lt;PortMapping&gt; <a class="code" href="classDocker_1_1RunOptions.html#ae237a5dab57584fae5f4dfb6ebebad82">portMappings</a>;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</spa
 n>&#160;    <span class="comment">// &quot;--device&quot; option.</span></div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#ac50c34a9f1f091f506e46b4c42cbc223">  233</a></span>&#160;    std::vector&lt;Device&gt; <a class="code" href="classDocker_1_1RunOptions.html#ac50c34a9f1f091f506e46b4c42cbc223">devices</a>;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="comment">// &quot;--entrypoint&quot; option.</span></div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a60d3e2000dd5ab9edf5f7b8a8286746c">  236</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a60d3e2000dd5ab9edf5f7b8a8286746c">entrypoint</a>;</div><div class="line"><a nam
 e="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="comment">// &quot;--name&quot; option.</span></div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a0602b9e86eddf481d959af3a0b90d6b0">  239</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="classDocker_1_1RunOptions.html#a0602b9e86eddf481d959af3a0b90d6b0">name</a>;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="comment">// Additional docker options passed through containerizer.</span></div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a048706a19cef73f4e674424c996e5c89">  242</a></span>&#160;    std::vector
 &lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#a048706a19cef73f4e674424c996e5c89">additionalOptions</a>;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="comment">// &quot;IMAGE[:TAG|@DIGEST]&quot; part of docker run.</span></div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classDocker_1_1RunOptions.html#a984870e15fbad2697a42f013258a6d93">  245</a></span>&#160;    std::string <a class="code" href="classDocker_1_1RunOptions.html#a984870e15fbad2697a42f013258a6d93">image</a>;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="comment">// Arguments for docker run.</span></div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="class
 Docker_1_1RunOptions.html#a2a59bd841ae0bb5b77b83639b61e42ec">  248</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="classDocker_1_1RunOptions.html#a2a59bd841ae0bb5b77b83639b61e42ec">arguments</a>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  };</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="comment">// Performs &#39;docker run IMAGE&#39;. Returns the exit status of the</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="comment">// container. Note that currently the exit status may correspond</span></div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">// to the exit code from a failure of the docker client or daemon</span></div><div class="line"><a name="l00254"></a><span class="lin
 eno">  254</span>&#160;  <span class="comment">// rather than the container. Docker &gt;= 1.10 [1] uses the following</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">// exit statuses inherited from &#39;chroot&#39;:</span></div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="comment">//     125 if the error is with Docker daemon itself.</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="comment">//     126 if the contained command cannot be invoked.</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="comment">//     127 if the contained command cannot be found.</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <span class="comment">//     Exit code of contained command otherwise.</span></div><div class="line"><a name="l00260"><
 /a><span class="lineno">  260</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="comment">// [1]: https://github.com/docker/docker/pull/14012</span></div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>(</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker_1_1RunOptions.html">RunOptions</a>&amp; options,</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stdout =</div><div class="li
 ne"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <a class="code" href="classprocess_1_1Subprocess.html#aaa6e1b76ef54ed6db34d595811122ce0">process::Subprocess::FD</a>(<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#abd165ee6474b5b75bf075842fff13a04">STDOUT_FILENO</a>),</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stderr =</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <a class="code" href="classprocess_1_1Subprocess.html#aaa6e1b76ef54ed6db34d595811122ce0">process::Subprocess::FD</a>(<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ae2fe1725bb5e9823d089c46b9ed5266e">STDERR_FILENO</a>)) <span class="keyword">const</span>;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#1
 60;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">// Returns the current docker version.</span></div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Version&gt;</a> <a class="code" href="classDocker.html#ac1d7d1dd254601751fe8af8048734345">version</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="comment">// Performs &#39;docker stop -t TIMEOUT CONTAINER&#39;. If remove is true then a rm -f</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// will be called when stop failed, otherwise a failure is returned. The</span></div><div class="line"><a name="l002
 74"></a><span class="lineno">  274</span>&#160;  <span class="comment">// timeout parameter will be passed through to docker and is the amount of</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">// time for docker to wait after stopping a container before killing it.</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="comment">// A value of zero (the default value) is the same as issuing a</span></div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="comment">// &#39;docker kill CONTAINER&#39;.</span></div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classDocker.html#a4f45c8632608059b07157a65033474fc">stop</a>(</div><div class="line"><a name="l0027
 9"></a><span class="lineno">  279</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; timeout = <a class="code" href="classSeconds.html">Seconds</a>(0),</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;      <span class="keywordtype">bool</span> <span class="keyword">remove</span> = <span class="keyword">false</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">// Performs &#39;docker kill --signal=&lt;signal&gt; CONTAINER&#39;.</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="keyword">virtual</span> <
 a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classDocker.html#a3b46502ea75be07f46e5e92acaea7917">kill</a>(</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;      <span class="keywordtype">int</span> signal) <span class="keyword">const</span>;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="comment">// Performs &#39;docker rm (-f) CONTAINER&#39;.</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classDocker.html#afd1dd8dc
 67fd3d111164ff80f90761f4">rm</a>(</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;      <span class="keywordtype">bool</span> force = <span class="keyword">false</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">// Performs &#39;docker inspect CONTAINER&#39;. If retryInterval is set,</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="comment">// we will keep retrying inspect until the container is started or</span></div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="comment">// the future is discarded.</span></div><
 div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Container&gt;</a> <a class="code" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a>(</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; retryInterval = <a class="code" href="structNone.html">None</a>()) <span class="keyword">const</span>;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="comment">// Performs &#39;docker ps (-a)&#39;.</span></div><div class
 ="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Container&gt;</a>&gt; <a class="code" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>(</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;      <span class="keywordtype">bool</span> all = <span class="keyword">false</span>,</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; <a class="code" href="namespaceos_1_1libraries_1_1Library.html#ab0e1a0e311049b6d685de1068e8f4690">prefix</a> = <a class="code" href="structNone.html">None</a>()) <span class="keyword">const</span>;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span cla
 ss="lineno">  305</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Image&gt;</a> <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>(</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;      <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>,</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;      <span class="keywordtype">bool</span> force = <span class="keyword">false</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310<
 /span>&#160;  <span class="comment">// Validate current docker version is not less than minVersion.</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" href="classDocker.html#ac0a745d178d4607acca6097a9cb33a5f">validateVersion</a>(<span class="keyword">const</span> <a class="code" href="structVersion.html">Version</a>&amp; minVersion) <span class="keyword">const</span>;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classDocker.html#a4d4e8921b4acbd88c5eea3914e20b033">  313</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classDocker.html#a4d4e8921b4acbd88c5eea3914e20b033">getPath</a>()</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  {</
 div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="keywordflow">return</span> path;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  }</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a">  318</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classDocker.html#ab615a0824c63169d3ff5e1124ac2889a">getSocket</a>()</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  {</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordflow">return</span> socket;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  }</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;
 </div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="comment">// Uses the specified path to the Docker CLI tool.</span></div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classDocker.html#a9e7459c5e36794e871a8019603b6beed">  325</a></span>&#160;  <a class="code" href="classDocker.html#a9e7459c5e36794e871a8019603b6beed">Docker</a>(<span class="keyword">const</span> std::string&amp; _path,</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;         <span class="keyword">const</span> std::string&amp; _socket,</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;         <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; _config)</div><div class="line"><a name="l003
 28"></a><span class="lineno">  328</span>&#160;       : path(_path),</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;         socket(<a class="code" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">DEFAULT_DOCKER_HOST_PREFIX</a> + _socket),</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;         config(_config) {}</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Version&gt;</a> _version(</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a
  name="l00335"></a><span class="lineno">  335</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Version&gt;</a> __version(</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&amp; output);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothi
 ng&gt;</a> _stop(</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;      <span class="keywordtype">bool</span> <span class="keyword">remove</span>);</div><div class="line"><a name="l00346"></a><span class="lineno">
   346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> _inspect(</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;<a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;Container&gt;</a>&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>,</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; retryInterval,</div><div class="line"><a name="l003
 51"></a><span class="lineno">  351</span>&#160;      std::shared_ptr&lt;std::pair&lt;lambda::function&lt;<span class="keywordtype">void</span>()&gt;, std::mutex&gt;&gt;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        callback);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> __inspect(</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;<a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;Container&gt;</a>&gt;&amp; <a class="code" href="namespace
 mesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>,</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; retryInterval,</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> output,</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;      std::shared_ptr&lt;std::pair&lt;lambda::function&lt;<span class="keywordtype">void</span>()&gt;, std::mutex&gt;&gt;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        ca
 llback);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> ___inspect(</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;<a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;Container&gt;</a>&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>,</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&
 lt;Duration&gt;</a>&amp; retryInterval,</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&amp; output,</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;      std::shared_ptr&lt;std::pair&lt;lambda::function&lt;<span class="keywordtype">void</span>()&gt;, std::mutex&gt;&gt;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        callback);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Container&gt;</a>&gt; _ps(</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;      <span class="keywor
 d">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; <a class="code" href="namespaceos_1_1libraries_1_1Library.html#ab0e1a0e311049b6d685de1068e8f4690">prefix</a>,</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> output);</div><div class="line"><a name="l00377"></a><span class="lineno
 ">  377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Container&gt;</a>&gt; __ps(</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; prefix,</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;      <span class="keyword">const</span> std::string&amp; output);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  <span class="keyword">static</
 span> <span class="keywordtype">void</span> inspectBatches(</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;std::list&lt;Docker::Container&gt;&gt; containers,</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;std::vector&lt;std::string&gt;&gt; lines,</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;<a class="code" href="classprocess_1_1Promise.html">process::Promise</a>&lt;std::list&lt;Docker::Container&gt;&gt;&gt; <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>,</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;      <span class="keyword">const</spa
 n> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; prefix);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  <span class="keyword">static</span> std::list&lt;process::Future&lt;Docker::Container&gt;&gt; createInspectBatch(</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;std::vector&lt;std::string&gt;&gt; lines,</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00393"></a><spa
 n class="lineno">  393</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; prefix);</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Image&gt;</a> _pull(</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;      <span class="keyword">const</span> std::string&amp; d
 irectory,</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>,</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      <span class="keyword">const</span> std::string&amp; path,</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;      <span class="keyword">const</span> std::string&amp; socket,</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; config,</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> output);</div><div class="line"><a name="l00404"></a><span
  class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Image&gt;</a> __pull(</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;      <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;      <span class="keyword">const</span> std::string&amp; image,</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;      <span class="keyword">const</span> std::string&amp; path,</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;      <span class="keyword">con
 st</span> std::string&amp; socket,</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; config);</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Image&gt;</a> ___pull(</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker.html">Docker</a>&amp; docker,</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00416"></a><span class=
 "lineno">  416</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd,</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;      <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;      <span class="keyword">const</span> std::string&amp; image);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Image&gt;</a> ____pull(</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;      <span class="keyword">const</span> std::string&amp; output);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</s
 pan>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> pullDiscarded(</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess.html">process::Subprocess</a>&amp; s,</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;      <span class="keyword">const</span> std::string&amp; cmd);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;  <span class="keyword">const</span> std::string path;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  <span class="keyword">const</span> std::string socket;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::
 Object&gt;</a> config;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;};</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor">#endif // __DOCKER_HPP__</span></div><div class="ttc" id="classDocker_1_1Image_html_a43aec521773705fa0148bacdc493e5a9"><div class="ttname"><a href="classDocker_1_1Image.html#a43aec521773705fa0148bacdc493e5a9">Docker::Image::entrypoint</a></div><div class="ttdeci">Option&lt; std::vector&lt; std::string &gt; &gt; entrypoint</div><div class="ttdef"><b>Definition:</b> docker.hpp:164</div></div>
+<a href="docker_2docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><s
 pan class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// di
 stributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __DOCKER_HPP__</span></div><div class="line"><a name="l00
 019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html"
 >process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="json_8hpp.html">stout/json.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span
  class="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="path_8hpp.html">stout/path.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2version_8hpp.html">stout/version.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#16
 0;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="rm_8hpp.html">stout/os/rm.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2messages_2flags_8hpp.html">messages/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// OS-specific default pref
 ix to be used for the DOCKER_HOST environment</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// variable. Note that on Linux, the default prefix is the only prefix</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// available; only Windows supports multiple prefixes.</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// TODO(hausdorff): Add support for the Windows `tcp://` prefix as well.</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#ifdef __WINDOWS__</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">DEFAULT_DOCKER_HOST_PREFIX</a>[] = <span class="stringlitera
 l">&quot;npipe://&quot;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">   51</a></span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="docker_2docker_8hpp.html#aaa33f928061d14ba4d30c9d242ab3af6">DEFAULT_DOCKER_HOST_PREFIX</a>[] = <span class="stringliteral">&quot;unix://&quot;</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// Abstraction for working with Docker (modeled on CLI).</span></div><div class="line"><a name="l00055"></a><span class="lin
 eno">   55</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// TODO(benh): Make futures returned by functions be discardable.</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classDocker.html">   57</a></span>&#160;<span class="keyword">class </span><a class="code" href="classDocker.html">Docker</a></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// Create Docker abstraction and optionally validate docker.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;proces
 s::Owned&lt;Docker&gt;</a>&gt; <a class="code" href="classDocker.html#a370c1d613e35cc8b8e393dc8c83876e6">create</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> std::string&amp; socket,</div><div class="li

<TRUNCATED>

[17/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/protobuf__utils_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/protobuf__utils_8hpp_source.html b/content/api/latest/c++/protobuf__utils_8hpp_source.html
index e1fd786..23848c2 100644
--- a/content/api/latest/c++/protobuf__utils_8hpp_source.html
+++ b/content/api/latest/c++/protobuf__utils_8hpp_source.html
@@ -135,7 +135,7 @@
 <div class="ttc" id="namespacemesos_1_1internal_1_1protobuf_html_afbc28e67bfbbed45cad7350a47088229"><div class="ttname"><a href="namespacemesos_1_1internal_1_1protobuf.html#afbc28e67bfbbed45cad7350a47088229">mesos::internal::protobuf::createLabel</a></div><div class="ttdeci">Label createLabel(const std::string &amp;key, const Option&lt; std::string &gt; &amp;value=None())</div></div>
 <div class="ttc" id="uuid_8hpp_html"><div class="ttname"><a href="uuid_8hpp.html">uuid.hpp</a></div></div>
 <div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a href="classprocess_1_1Owned.html">process::Owned</a></div><div class="ttdef"><b>Definition:</b> owned.hpp:36</div></div>
-<div class="ttc" id="structmesos_1_1internal_1_1master_1_1Framework_html"><div class="ttname"><a href="structmesos_1_1internal_1_1master_1_1Framework.html">mesos::internal::master::Framework</a></div><div class="ttdef"><b>Definition:</b> master.hpp:2214</div></div>
+<div class="ttc" id="structmesos_1_1internal_1_1master_1_1Framework_html"><div class="ttname"><a href="structmesos_1_1internal_1_1master_1_1Framework.html">mesos::internal::master::Framework</a></div><div class="ttdef"><b>Definition:</b> master.hpp:2215</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1protobuf_html_a638bffc6be26057ab5f2054bd5d467e3"><div class="ttname"><a href="namespacemesos_1_1internal_1_1protobuf.html#a638bffc6be26057ab5f2054bd5d467e3">mesos::internal::protobuf::createMasterInfo</a></div><div class="ttdeci">MasterInfo createMasterInfo(const process::UPID &amp;pid)</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1protobuf_html_a5cd00b9f2bf518fb5cea40dccf4188ea"><div class="ttname"><a href="namespacemesos_1_1internal_1_1protobuf.html#a5cd00b9f2bf518fb5cea40dccf4188ea">mesos::internal::protobuf::getTaskCheckStatus</a></div><div class="ttdeci">Option&lt; CheckStatusInfo &gt; getTaskCheckStatus(const Task &amp;task)</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1protobuf_html_a0a8d385223ec86f5b9431a8a67dac151"><div class="ttname"><a href="namespacemesos_1_1internal_1_1protobuf.html#a0a8d385223ec86f5b9431a8a67dac151">mesos::internal::protobuf::createOperationStatus</a></div><div class="ttdeci">OperationStatus createOperationStatus(const OperationState &amp;state, const Option&lt; OperationID &gt; &amp;operationId=None(), const Option&lt; std::string &gt; &amp;message=None(), const Option&lt; Resources &gt; &amp;convertedResources=None(), const Option&lt; id::UUID &gt; &amp;statusUUID=None())</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/provisioner_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/provisioner_8hpp.html b/content/api/latest/c++/provisioner_8hpp.html
index 906515c..abdc441 100644
--- a/content/api/latest/c++/provisioner_8hpp.html
+++ b/content/api/latest/c++/provisioner_8hpp.html
@@ -55,7 +55,7 @@
 <div class="title">provisioner.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
+<div class="textblock"><code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="resources_8hpp_source.html">mesos/resources.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="include_2mesos_2appc_2spec_8hpp_source.html">mesos/appc/spec.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="v1_8hpp_source.html">mesos/docker/v1.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/provisioner_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/provisioner_8hpp_source.html b/content/api/latest/c++/provisioner_8hpp_source.html
index 732559e..0b13fec 100644
--- a/content/api/latest/c++/provisioner_8hpp_source.html
+++ b/content/api/latest/c++/provisioner_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">provisioner.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="provisioner_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __PROVISIONER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __PROVISIONER_HPP__</span></div><div class="line"><a na
 me="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2appc_2spec_8hpp.html">mesos/appc/spec.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class
 ="code" href="v1_8hpp.html">mesos/docker/v1.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resolver_8hpp.html">mesos/secret/resolver.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span> <span class="comment">// For ContainerState.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span>
 </div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="rwlock_8hpp.html">process/rwlock.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span 
 class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">process/metrics/metrics.hpp</a>&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2fetcher_8hpp.html">slave/containe
 rizer/fetcher.hpp</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2provisioner_2store_8hpp.html">slave/containerizer/mesos/provisioner/store.hpp</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l
 00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">class </span>Backend;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">class </span>ProvisionerProcess;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">class </span>Store;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// Provision info struct includes root filesystem for the container</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// with specified image, all image manifests that i
 nclude runtime</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// configurations from the image will be passed to Mesos Containerizer.</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html">   60</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html">ProvisionInfo</a></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#ae5f3b182cf40f977062a177c309c3269">   62</a></span>&#160;  std::string <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#ae5f3b182cf40f977062a177c309c3269">rootfs</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</
 span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="comment">// Docker v1 image manifest.</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#adb805c97423a74ffc41732401c068a97">   65</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;::docker::spec::v1::ImageManifest&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#adb805c97423a74ffc41732401c068a97">dockerManifest</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">// Appc image manifest.</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#a1ba800ff51051b7f6edd652c8b73a8ca">   68</a></span>&#
 160;  <a class="code" href="classOption.html">Option&lt;::appc::spec::ImageManifest&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#a1ba800ff51051b7f6edd652c8b73a8ca">appcManifest</a>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">   72</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a na
 me="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">// Create the provisioner based on the specified flags.</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process::Owned&lt;Provisioner&gt;</a>&gt; <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1SecretResolver.html">SecretResolver</a>* secretResolver = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</s
 pan>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Available only for testing.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>(<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;ProvisionerProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// NOTE: Made &#39;virtual&#39; for mocking and testing.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>();</
 div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="comment">// Recover root filesystems for containers from the known</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="comment">// containers (forked by the launcher) detected by the</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// launcher. This function is also responsible for cleaning</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// up any intermediate artifacts (e.g. directories) to not</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// leak anything.</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span cla
 ss="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; knownContainerIds) <span class="keyword">const</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="comment">// Provision a root filesystem for the container using the specified</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="comment">// image and return the absolute path to the root filesystem.</span></div><div class="line"><a name="l00096"></a><span class="lineno
 ">   96</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> provision(</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keyword">const</span> Image&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// Destroy a previously provisioned root filesystem. Assumes that</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// all references (e.g., mounts, o
 pen files) to the provisioned</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">// filesystem have been removed. Return false if there is no</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// provisioned root filesystem for the given container.</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="comment">// Prune images in differen
 t stores. Image references in excludedImages</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="comment">// will be passed to stores and retained in a best effort fashion.</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="comment">// All layer paths used by active containers will not be pruned.</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> pruneImages(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages) <span class="keyword">const</span>;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</sp
 an>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#ac76bb3ae65c6e316914bcfef8730155e">  113</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#ac76bb3ae65c6e316914bcfef8730155e">Provisioner</a>() {} <span class="comment">// For creating mock object.</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp;) = <span class="keyword">delete</span>; <span clas
 s="comment">// Not copyable.</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp;) = <span class="keyword">delete</span>; <span class="comment">// Not assignable.</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;ProvisionerProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;};</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name
 ="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">// Expose this class for testing only.</span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html">  124</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html">ProvisionerProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;ProvisionerProcess&gt;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;{</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_
 1ProvisionerProcess.html">ProvisionerProcess</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keyword">const</span> std::string&amp; rootDir,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> std::string&amp; defaultBackend,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;<a class="code" href="namespacemesos_1_1internal_1_1capabilities.html#aaa5ec6d56ccbeba718b9e8fc6ec2f7c9">Image::Type</a>, <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Store&gt;</a>&gt;&amp; stores,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Owned.ht
 ml">process::Owned&lt;Backend&gt;</a>&gt;&amp; backends);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; knownContainerIds);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> provision(</div><div class="line"><a name="l00137"></a><span class="lineno">  137
 </span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="keyword">const</span> Image&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> pruneIma
 ges(</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> _provision(</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <span class="keyword">const</span> Image&amp; image,</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> std::st
 ring&amp; backend,</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ImageInfo.html">ImageInfo</a>&amp; imageInfo);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> _destroy(</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&gt;&amp; destroys);
 </div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> __destroy(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">// Absolute path to the provisioner root directory. It can be</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// derived from &#39;--work_dir&#39; but we keep a separate copy here</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// because we converted it into an absolute path so managed rootfs</span></div><div class="line"><a name="l00161"></a
 ><span class="lineno">  161</span>&#160;  <span class="comment">// paths match the ones in &#39;mountinfo&#39; (important if mount-based</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="comment">// backends are used).</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keyword">const</span> std::string rootDir;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="comment">// The default provisioner backend, using the following logic:</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="comment">// 1. Use `--image_provisioner_backend` if it is set.</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="comment">// 2. Use overlayfs backend if it exist
 s.</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="comment">// 3. Use aufs backend if the overlayfs does not exist.</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="comment">// 4. Use copy backend of both overlayfs and aufs do not exist.</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">const</span> std::string defaultBackend;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;Image::Type, process::Owned&lt;Store&gt;</a>&gt; stores;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::s
 tring, process::Owned&lt;Backend&gt;</a>&gt; backends;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">// Mappings: backend -&gt; {rootfsId, ...}</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, hashset&lt;std::string&gt;</a>&gt; rootfses;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="comment">// TODO(zhitao): Remove Option after the deprecation cycle</span></div><div class="line"><a name
 ="l00181"></a><span class="lineno">  181</span>&#160;    <span class="comment">// started in 1.5.</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="classOption.html">Option&lt;std::vector&lt;std::string&gt;</a>&gt; layers;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;bool&gt;</a> termination;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="comment">// The container status in provisioner.</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keywordtype">bool</span> destroying = <span class="keyword">false</span>;</div><div class="line"><a
  name="l00188"></a><span class="lineno">  188</span>&#160;  };</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="namespacerouting_1_1diagnosis_1_1socket.html#a8937277756951dcc28f2dbdbd9ea24d7">infos</a>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">struct </span><a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a></div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  {</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="namespacemesos_1_1internal_1_1tests.html#
 ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    ~<a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> remove_container_errors;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  } <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a>;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="comment">// This `ReadWriteLock` instance is used to protect the critical
 </span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="comment">// section, which includes store directory and provision directory.</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="comment">// Because `provision` and `destroy` are scoped by `containerId`,</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// they are not expected to touch the same critical section</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="comment">// simultaneously, so any `provision` and `destroy` can happen concurrently.</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="comment">// This is guaranteed by Mesos containerizer, e.g., a `destroy` will always</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</
 span>&#160;  <span class="comment">// wait for a container&#39;s `provision` to finish, then do the cleanup.</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="comment">// On the other hand, `pruneImages` needs to know all active layers from all</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="comment">// containers, therefore it must be exclusive to other `provision`, `destroy`</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="comment">// and `pruneImages` so that we do not prune image layers which is used by an</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">// active `provision` or `destroy`.</span></div><div class="line"><a name="l00212"
 ></a><span class="lineno">  212</span>&#160;  <a class="code" href="classprocess_1_1ReadWriteLock.html">process::ReadWriteLock</a> rwLock;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;};</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#endif // __PROVISIONER_HPP__</span></div><div class="ttc" id="namespacemesos_1_1inter
 nal_1_1log_1_1protocol_html_afa485608d261b11b9b4c619b4b4d6e28"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">mesos::internal::log::protocol::recover</a></div><div class="ttdeci">Protocol&lt; RecoverRequest, RecoverResponse &gt; recover</div></div>
+<a href="provisioner_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __PROVISIONER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __PROVISIONER_HPP__</span></div><div class="line"><a na
 me="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2appc_2spec_8hpp.html">mesos/appc/spec.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a cla
 ss="code" href="v1_8hpp.html">mesos/docker/v1.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resolver_8hpp.html">mesos/secret/resolver.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span> <span class="comment">// For ContainerState.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</spa
 n></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="rwlock_8hpp.html">process/rwlock.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><spa
 n class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">process/metrics/metrics.hpp</a>&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2fetcher_8hpp.html">slave/contai
 nerizer/fetcher.hpp</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2provisioner_2store_8hpp.html">slave/containerizer/mesos/provisioner/store.hpp</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name=
 "l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">class </span>Backend;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">class </span>ProvisionerProcess;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">class </span>Store;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// Provision info struct includes root filesystem for the container</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// with specified image, all image manifests that
  include runtime</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// configurations from the image will be passed to Mesos Containerizer.</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html">   60</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html">ProvisionInfo</a></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#ae5f3b182cf40f977062a177c309c3269">   62</a></span>&#160;  std::string <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#ae5f3b182cf40f977062a177c309c3269">rootfs</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63
 </span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="comment">// Docker v1 image manifest.</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#adb805c97423a74ffc41732401c068a97">   65</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;::docker::spec::v1::ImageManifest&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#adb805c97423a74ffc41732401c068a97">dockerManifest</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">// Appc image manifest.</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#a1ba800ff51051b7f6edd652c8b73a8ca">   68</a></span>
 &#160;  <a class="code" href="classOption.html">Option&lt;::appc::spec::ImageManifest&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html#a1ba800ff51051b7f6edd652c8b73a8ca">appcManifest</a>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">   72</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a 
 name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">// Create the provisioner based on the specified flags.</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process::Owned&lt;Provisioner&gt;</a>&gt; <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1SecretResolver.html">SecretResolver</a>* secretResolver = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00079"></a><span class="lineno">   79<
 /span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Available only for testing.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>(<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;ProvisionerProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// NOTE: Made &#39;virtual&#39; for mocking and testing.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>();
 </div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="comment">// Recover root filesystems for containers from the known</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="comment">// containers (forked by the launcher) detected by the</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// launcher. This function is also responsible for cleaning</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// up any intermediate artifacts (e.g. directories) to not</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// leak anything.</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span c
 lass="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; knownContainerIds) <span class="keyword">const</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="comment">// Provision a root filesystem for the container using the specified</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="comment">// image and return the absolute path to the root filesystem.</span></div><div class="line"><a name="l00096"></a><span class="line
 no">   96</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> provision(</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keyword">const</span> Image&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// Destroy a previously provisioned root filesystem. Assumes that</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// all references (e.g., mounts,
  open files) to the provisioned</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">// filesystem have been removed. Return false if there is no</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// provisioned root filesystem for the given container.</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="comment">// Prune images in differ
 ent stores. Image references in excludedImages</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="comment">// will be passed to stores and retained in a best effort fashion.</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="comment">// All layer paths used by active containers will not be pruned.</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> pruneImages(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages) <span class="keyword">const</span>;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</
 span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#ac76bb3ae65c6e316914bcfef8730155e">  113</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#ac76bb3ae65c6e316914bcfef8730155e">Provisioner</a>() {} <span class="comment">// For creating mock object.</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp;) = <span class="keyword">delete</span>; <span cl
 ass="comment">// Not copyable.</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html">Provisioner</a>&amp;) = <span class="keyword">delete</span>; <span class="comment">// Not assignable.</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;ProvisionerProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;};</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a na
 me="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">// Expose this class for testing only.</span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html">  124</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html">ProvisionerProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;ProvisionerProcess&gt;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;{</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_
 1_1ProvisionerProcess.html">ProvisionerProcess</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keyword">const</span> std::string&amp; rootDir,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> std::string&amp; defaultBackend,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;<a class="code" href="namespacemesos_1_1internal_1_1capabilities.html#aaa5ec6d56ccbeba718b9e8fc6ec2f7c9">Image::Type</a>, <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Store&gt;</a>&gt;&amp; stores,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Owned.
 html">process::Owned&lt;Backend&gt;</a>&gt;&amp; backends);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">recover</a>(</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; knownContainerIds);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> provision(</div><div class="line"><a name="l00137"></a><span class="lineno">  1
 37</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="keyword">const</span> Image&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> pruneI
 mages(</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> _provision(</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <span class="keyword">const</span> Image&amp; image,</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">const</span> std::
 string&amp; backend,</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ImageInfo.html">ImageInfo</a>&amp; imageInfo);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> _destroy(</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&gt;&amp; destroys);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> __destroy(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">// Absolute path to the provisioner root directory. It can be</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// derived from &#39;--work_dir&#39; but we keep a separate copy here</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// because we converted it into an absolute path so managed rootfs</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="comment">// paths match the ones in
  &#39;mountinfo&#39; (important if mount-based</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="comment">// backends are used).</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keyword">const</span> std::string rootDir;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="comment">// The default provisioner backend, using the following logic:</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="comment">// 1. Use `--image_provisioner_backend` if it is set.</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="comment">// 2. Use overlayfs backend if it exists.</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#1
 60;  <span class="comment">// 3. Use aufs backend if the overlayfs does not exist.</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="comment">// 4. Use copy backend of both overlayfs and aufs do not exist.</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">const</span> std::string defaultBackend;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;Image::Type, process::Owned&lt;Store&gt;</a>&gt; stores;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, process::Owned&lt;Backend&gt;</a>&gt; backends;</div><div class="line"><a name="l00
 174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">// Mappings: backend -&gt; {rootfsId, ...}</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, hashset&lt;std::string&gt;</a>&gt; rootfses;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="comment">// TODO(zhitao): Remove Option after the deprecation cycle</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="comment">// started 
 in 1.5.</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="classOption.html">Option&lt;std::vector&lt;std::string&gt;</a>&gt; layers;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;bool&gt;</a> termination;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="comment">// The container status in provisioner.</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keywordtype">bool</span> destroying = <span class="keyword">false</span>;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  };</div><div class="line"><a n
 ame="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="namespacerouting_1_1diagnosis_1_1socket.html#a8937277756951dcc28f2dbdbd9ea24d7">infos</a>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">struct </span><a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a></div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  {</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00195">
 </a><span class="lineno">  195</span>&#160;    ~<a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> remove_container_errors;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  } <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a>;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="comment">// This `ReadWriteLock` instance is used to protect the critical</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160
 ;  <span class="comment">// section, which includes store directory and provision directory.</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="comment">// Because `provision` and `destroy` are scoped by `containerId`,</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// they are not expected to touch the same critical section</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="comment">// simultaneously, so any `provision` and `destroy` can happen concurrently.</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="comment">// This is guaranteed by Mesos containerizer, e.g., a `destroy` will always</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="comment">// wait for a container&#39;s `provision` to finish, th
 en do the cleanup.</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="comment">// On the other hand, `pruneImages` needs to know all active layers from all</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="comment">// containers, therefore it must be exclusive to other `provision`, `destroy`</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="comment">// and `pruneImages` so that we do not prune image layers which is used by an</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">// active `provision` or `destroy`.</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <a class="code" href="classprocess_1_1ReadWr
 iteLock.html">process::ReadWriteLock</a> rwLock;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;};</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#endif // __PROVISIONER_HPP__</span></div><div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_afa485608d261b11b9b4c619b4b4d6e28"><div class="ttname"><a href
 ="namespacemesos_1_1internal_1_1log_1_1protocol.html#afa485608d261b11b9b4c619b4b4d6e28">mesos::internal::log::protocol::recover</a></div><div class="ttdeci">Protocol&lt; RecoverRequest, RecoverResponse &gt; recover</div></div>
 <div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
 <div class="ttc" id="resolver_8hpp_html"><div class="ttname"><a href="resolver_8hpp.html">resolver.hpp</a></div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt;::docker::spec::v1::ImageManifest &gt;</a></div></div>
@@ -78,7 +78,6 @@
 <div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise&lt; bool &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html">mesos::internal::slave::ProvisionerProcess</a></div><div class="ttdef"><b>Definition:</b> provisioner.hpp:124</div></div>
 <div class="ttc" id="namespacecgroups_html_aff40863260825f6176d8195102a0a47f"><div class="ttname"><a href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">cgroups::destroy</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; destroy(const std::string &amp;hierarchy, const std::string &amp;cgroup=&quot;/&quot;)</div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="namespaceos_html_ae19e4161a51b86a1f330f3bf1dc75389"><div class="ttname"><a href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">os::process</a></div><div class="ttdeci">Result&lt; Process &gt; process(pid_t pid)</div><div class="ttdef"><b>Definition:</b> freebsd.hpp:30</div></div>
 <div class="ttc" id="structmesos_1_1internal_1_1slave_1_1ProvisionInfo_html"><div class="ttname"><a href="structmesos_1_1internal_1_1slave_1_1ProvisionInfo.html">mesos::internal::slave::ProvisionInfo</a></div><div class="ttdef"><b>Definition:</b> provisioner.hpp:60</div></div>


[43/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html
index ac6f4a5..ca25050 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html
@@ -82,8 +82,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a50fc15a892743e6dc4e56585bcf6d08a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1a3bc4ad72074b5d3e21b21442217375"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a1a3bc4ad72074b5d3e21b21442217375"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a502c8a09876e5a6f5ca0654297999a18"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a502c8a09876e5a6f5ca0654297999a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1d7d003cfa4c8c25bdc98f91619e71a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:ab1d7d003cfa4c8c25bdc98f91619e71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad58eafeb96f1c2b760e6f2652c1fbabc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:ad58eafeb96f1c2b760e6f2652c1fbabc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa383182ee41d05570c9e52278c073a6c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa383182ee41d05570c9e52278c073a6c">watch</a> (const ContainerID &amp;containerId)</td></tr>
@@ -371,7 +371,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a502c8a09876e5a6f5ca0654297999a18"></a>
+<a class="anchor" id="ab1d7d003cfa4c8c25bdc98f91619e71a"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -381,7 +381,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::IOSwitchboard::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -403,7 +403,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher-members.html
index dd7f286..fb61d73 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher-members.html
@@ -59,7 +59,7 @@
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(const ContainerID &amp;containerId)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(const ContainerID &amp;containerId)=0</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher.html
index bad6de8..62ff64a 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Launcher.html
@@ -75,8 +75,8 @@ Inheritance diagram for mesos::internal::slave::Launcher:</div>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a71741e35eb44f5ca5734af8d945b0e8d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a> ()</td></tr>
 <tr class="separator:a71741e35eb44f5ca5734af8d945b0e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a8e37767fb1a65c63bb31b26727697e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td></tr>
-<tr class="separator:a0a8e37767fb1a65c63bb31b26727697e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93e8c38b7a4d497b37ce82d9108fedb4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</td></tr>
+<tr class="separator:a93e8c38b7a4d497b37ce82d9108fedb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af6c5246e61f3959d393d06f4abf23b45"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a> (const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;in, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;out, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;err, const <a class="el" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a> *<a class="el" href="decoder_8hpp.html#abb0829cce9d
 d20a40ae0d86890ae85c6">flags</a>, const <a class="el" href="classOption.html">Option</a>&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;enterNamespaces, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;cloneNamespaces)=0</td></tr>
 <tr class="separator:af6c5246e61f3959d393d06f4abf23b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adf9cd543b7aaf0b999a2a00aa31c6175"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a> (const ContainerID &amp;containerId)=0</td></tr>
@@ -219,7 +219,7 @@ Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a0a8e37767fb1a65c63bb31b26727697e"></a>
+<a class="anchor" id="a93e8c38b7a4d497b37ce82d9108fedb4"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -229,7 +229,7 @@ Public Member Functions</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="classhashset.html">hashset</a>&lt;ContainerID&gt; &gt; mesos::internal::slave::Launcher::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em></td><td>)</td>
           <td></td>
         </tr>
@@ -241,7 +241,7 @@ Public Member Functions</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Implemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59">mesos::internal::slave::SubprocessLauncher</a>, and <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">mesos::internal::slave::LinuxLauncher</a>.</p>
+<p>Implemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804">mesos::internal::slave::SubprocessLauncher</a>, and <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">mesos::internal::slave::LinuxLauncher</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess-members.html
index 6a51d8c..be284bb 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html#a5d066816de81b81462b93b8699af4d25">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html">mesos::internal::slave::LinuxCapabilitiesIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html
index 68fd259..fa5b29e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxCapabilitiesIsolatorProcess.html
@@ -84,8 +84,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess-members.html
index bf9123d..9ede858 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html#a4805190eadee2b06d7fbf49dc2b7926e">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html">mesos::internal::slave::LinuxDevicesIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html
index 97d4f93..1f1149b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html
@@ -85,8 +85,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess-members.html
index 9f10d07..62f5f5b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html
index cd6f430..19ef044 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html
@@ -82,8 +82,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a83106b699cb07d30c599824a6714c1a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a606b959d7291303c94149ed7924e79c6"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a606b959d7291303c94149ed7924e79c6">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a606b959d7291303c94149ed7924e79c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae177456bcfd551ddbc5060fab94cd980"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:ae177456bcfd551ddbc5060fab94cd980"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a88eec00bf4a5fb44743c6317cb692594"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a88eec00bf4a5fb44743c6317cb692594"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6f9f2b8cd0c49afa1acfa7ea7b08406f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a6f9f2b8cd0c49afa1acfa7ea7b08406f">update</a> (const ContainerID &amp;containerId, const <a class="el" href="classmesos_1_1Resources.html">Resources</a> &amp;resources)</td></tr>
@@ -323,7 +323,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"></a>
+<a class="anchor" id="ae177456bcfd551ddbc5060fab94cd980"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -333,7 +333,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::LinuxFilesystemIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -355,7 +355,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher-members.html
index fc81e17..849f258 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher-members.html
@@ -62,7 +62,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a188c7d32972b2998023f77444d125247">create</a>(const Flags &amp;flags)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16">destroy</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea">fork</a>(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#acb8f27191f0c9a78b85fe27c5e387a59">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f">~LinuxLauncher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html">mesos::internal::slave::LinuxLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html
index 59c52b6..4239e45 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html
@@ -74,8 +74,8 @@ Inheritance diagram for mesos::internal::slave::LinuxLauncher:</div>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a6b27ed8348acf0a92a80bd762cb3977f"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a6b27ed8348acf0a92a80bd762cb3977f">~LinuxLauncher</a> ()</td></tr>
 <tr class="separator:a6b27ed8348acf0a92a80bd762cb3977f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a699c488ac03f1df509d0e09bb021a239"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)</td></tr>
-<tr class="separator:a699c488ac03f1df509d0e09bb021a239"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a2f84c9e3c2b8e14882baf8522b34e9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)</td></tr>
+<tr class="separator:a4a2f84c9e3c2b8e14882baf8522b34e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab939867760688ac31fb30c42f75c9aea"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#ab939867760688ac31fb30c42f75c9aea">fork</a> (const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;in, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;out, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;err, const <a class="el" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a> *<a class="el" href="decoder_8hpp.html#abb0829
 cce9dd20a40ae0d86890ae85c6">flags</a>, const <a class="el" href="classOption.html">Option</a>&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;enterNamespaces, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;cloneNamespaces)</td></tr>
 <tr class="separator:ab939867760688ac31fb30c42f75c9aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a65f573e7693965e7030327e5d5cf8b16"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a65f573e7693965e7030327e5d5cf8b16">destroy</a> (const ContainerID &amp;containerId)</td></tr>
@@ -311,7 +311,7 @@ Static Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a699c488ac03f1df509d0e09bb021a239"></a>
+<a class="anchor" id="a4a2f84c9e3c2b8e14882baf8522b34e9"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -321,7 +321,7 @@ Static Public Member Functions</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="classhashset.html">hashset</a>&lt;ContainerID&gt; &gt; mesos::internal::slave::LinuxLauncher::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em></td><td>)</td>
           <td></td>
         </tr>
@@ -333,7 +333,7 @@ Static Public Member Functions</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Implements <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher</a>.</p>
+<p>Implements <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator-members.html
index 6448bd6..e73cdc8 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator-members.html
@@ -62,8 +62,8 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a36b26d1276a22b8148fa281e73bc5de7">MesosIsolator</a>(process::Owned&lt; MesosIsolatorProcess &gt; process)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">mesos::slave::Isolator::prepare</a>(const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">mesos::slave::Isolator::recover</a>(const std::list&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">mesos::slave::Isolator::recover</a>(const std::vector&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator.html
index 2684b0e..55f013e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolator.html
@@ -79,8 +79,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:acd19e2e8bbe3a57267620a2acfcf3b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1c8bae50b4c7a6b2ab5cbda17b640646"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a1c8bae50b4c7a6b2ab5cbda17b640646"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cef8efea5b88caa294e7e46dbc6155e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a0cef8efea5b88caa294e7e46dbc6155e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee2378521ee324973937ef921cce2113"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:aee2378521ee324973937ef921cce2113"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a289db030d60e8b4dcb6cedba2a8453e8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a289db030d60e8b4dcb6cedba2a8453e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a32a943445e8ff4eb60c269f35e92d19c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a32a943445e8ff4eb60c269f35e92d19c">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -98,8 +98,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1slave_1_1Isolator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1slave_1_1Isolator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></td></tr>
 <tr class="memitem:a9ec7749b09cc7fb2d0286bf2eca913ac inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a9ec7749b09cc7fb2d0286bf2eca913ac">~Isolator</a> ()</td></tr>
 <tr class="separator:a9ec7749b09cc7fb2d0286bf2eca913ac inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d91782894ecd7bd20f5778d9e01c018 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a> (const std::list&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a0d91782894ecd7bd20f5778d9e01c018 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d35276d3fb6a19cd9290bb4c7aa7f7 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a> (const std::vector&lt; ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a67d35276d3fb6a19cd9290bb4c7aa7f7 inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a35cb3afae3f941fd4450a763eb123d6d inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a> (const ContainerID &amp;containerId, const ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a35cb3afae3f941fd4450a763eb123d6d inherit pub_methods_classmesos_1_1slave_1_1Isolator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -248,7 +248,7 @@ Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a0cef8efea5b88caa294e7e46dbc6155e"></a>
+<a class="anchor" id="aee2378521ee324973937ef921cce2113"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -258,7 +258,7 @@ Public Member Functions</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::MesosIsolator::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess-members.html
index 243cb15..318c76c 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess-members.html
@@ -82,7 +82,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html
index 4d29994..8e3b063 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html
@@ -106,8 +106,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a8009c7782661b509933138479d3dbed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a030a1d8c77900f91da6d3081d3cdb893"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a030a1d8c77900f91da6d3081d3cdb893"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -347,11 +347,11 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a535e167c886cbb656a729fe83386a14d">mesos::internal::slave::PortMappingIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500">mesos::internal::slave::PosixDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">mesos::internal::slave::IOSwitchboard</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">mesos::internal::slave::PosixIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a25f9596edb7e6397b6d04baff3b35958">mesos::int
 ernal::slave::NetworkPortsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">mesos::internal::slave::DockerVolumeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">mesos::internal::slave::CgroupsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">mesos::internal::slave::NetworkCniIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a6ac149587d64f556500a6fc227915bbe">mesos::internal::slave::XfsDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIso
 latorProcess.html#a916fdf1cedcff91d334b582051e37966">mesos::internal::slave::WindowsMemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">mesos::internal::slave::WindowsCpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">mesos::internal::slave::VolumeImageIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html#a974beb91927e6e1f92a27d7686d54d89">mesos::internal::slave::VolumeSecretIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html#a2f03baa1e274f77828757b3699b3a523">mesos::internal::slave::EnvironmentSe
 cretIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html#a4805190eadee2b06d7fbf49dc2b7926e">mesos::internal::slave::LinuxDevicesIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html#a9214c03413d5d30d6b96d8bb73b4f203">mesos::internal::slave::SharedFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html#abf6c41985fbe21ab03e1355d62be492c">mesos::internal::slave::AppcRuntimeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html#a5248c2c45099c00b16bb7ab5e5cc7e02">mesos::internal::slave::DockerRuntimeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Lin
 uxCapabilitiesIsolatorProcess.html#a5d066816de81b81462b93b8699af4d25">mesos::internal::slave::LinuxCapabilitiesIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html#af55cced1706b987e9a188d946bd69894">mesos::internal::slave::NamespacesIPCIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html#a81751627c0d1318dc4aff01fa3a7375c">mesos::internal::slave::NamespacesPidIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html#a0e119e29caca70fdd5b21126865a788a">mesos::internal::slave::PosixRLimitsIsolatorProcess</a>, and <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html#a726ff6d0e4a31e617b916641e5dc320c">mesos::internal::slave::VolumeHostPathIsolatorProcess</a>.</p>
+<p>Reimplemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a535e167c886cbb656a729fe83386a14d">mesos::internal::slave::PortMappingIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500">mesos::internal::slave::PosixDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">mesos::internal::slave::IOSwitchboard</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">mesos::internal::slave::PosixIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a25f9596edb7e6397b6d04baff3b35958">mesos::int
 ernal::slave::NetworkPortsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">mesos::internal::slave::DockerVolumeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">mesos::internal::slave::CgroupsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">mesos::internal::slave::NetworkCniIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a6ac149587d64f556500a6fc227915bbe">mesos::internal::slave::XfsDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIso
 latorProcess.html#a916fdf1cedcff91d334b582051e37966">mesos::internal::slave::WindowsMemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">mesos::internal::slave::WindowsCpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html#a974beb91927e6e1f92a27d7686d54d89">mesos::internal::slave::VolumeSecretIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">mesos::internal::slave::VolumeImageIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html#a2f03baa1e274f77828757b3699b3a523">mesos::internal::slave::EnvironmentSe
 cretIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxDevicesIsolatorProcess.html#a4805190eadee2b06d7fbf49dc2b7926e">mesos::internal::slave::LinuxDevicesIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html#a9214c03413d5d30d6b96d8bb73b4f203">mesos::internal::slave::SharedFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html#abf6c41985fbe21ab03e1355d62be492c">mesos::internal::slave::AppcRuntimeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html#a5248c2c45099c00b16bb7ab5e5cc7e02">mesos::internal::slave::DockerRuntimeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Lin
 uxCapabilitiesIsolatorProcess.html#a5d066816de81b81462b93b8699af4d25">mesos::internal::slave::LinuxCapabilitiesIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html#af55cced1706b987e9a188d946bd69894">mesos::internal::slave::NamespacesIPCIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html#a81751627c0d1318dc4aff01fa3a7375c">mesos::internal::slave::NamespacesPidIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html#a0e119e29caca70fdd5b21126865a788a">mesos::internal::slave::PosixRLimitsIsolatorProcess</a>, and <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html#a726ff6d0e4a31e617b916641e5dc320c">mesos::internal::slave::VolumeHostPathIsolatorProcess</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="adea82f6dd9074b11d8655f3ddbd2c7c7"></a>
+<a class="anchor" id="a426eac2fa6176c91bef2cb8175eab24f"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -361,7 +361,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::MesosIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -383,7 +383,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a47eb4c076201fa2aafa5b5698b15e3fa">mesos::internal::slave::PortMappingIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1">mesos::internal::slave::PosixDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">mesos::internal::slave::IOSwitchboard</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#aa94976e4d3569e51ffdda49d942432d7">mesos::internal::slave::NetworkPortsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b9
 34">mesos::internal::slave::DockerVolumeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">mesos::internal::slave::CgroupsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">mesos::internal::slave::NetworkCniIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a369e81c7f2b5ac6314467f963320dde3">mesos::internal::slave::XfsDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">mesos::internal::slave::WindowsMemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Win
 dowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">mesos::internal::slave::WindowsCpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">mesos::internal::slave::PosixIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>, and <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>.</p>
+<p>Reimplemented in <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24">mesos::internal::slave::PosixDiskIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">mesos::internal::slave::IOSwitchboard</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">mesos::internal::slave::DockerVolumeIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">mesos::internal::slave::CgroupsIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">mesos:
 :internal::slave::NetworkCniIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">mesos::internal::slave::WindowsMemIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">mesos::internal::slave::WindowsCpuIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">mesos::internal::slave::PosixIsolatorProcess</a>, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>, and <a class="el" href="classmesos_1_1internal_1_1slav
 e_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>.</p>
 
 </div>
 </div>


[32/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/filesystem_2posix_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/filesystem_2posix_8hpp_source.html b/content/api/latest/c++/filesystem_2posix_8hpp_source.html
index ee964c3..2ad9a24 100644
--- a/content/api/latest/c++/filesystem_2posix_8hpp_source.html
+++ b/content/api/latest/c++/filesystem_2posix_8hpp_source.html
@@ -52,10 +52,9 @@
 <div class="title">posix.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="filesystem_2posix_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a
 ><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//
  distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_FILESYSTEM_ISOLATOR_HPP__</
 span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</
 span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">   30</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">PosixFilesystemIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classm
 esos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad072eb5391ae6d57e9385c22f81108d7">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">virtual</s
 pan> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974">~PosixFilesystemIsolatorProcess</a>();</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">recover</a>(</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)
 ;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a>(</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">
 virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad">update</a>(</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#af3f9bf8db
 aab5e41876e1df38eeaac92">cleanup</a>(</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab18447801d2a94466315cf13b5380424">PosixFilesystemIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemI
 solatorProcess.html#a94fb86c045c622e26497587ed7b003b9">   55</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a94fb86c045c622e26497587ed7b003b9">flags</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html">   57</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html">Info</a></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  {</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_
 1_1Info.html#a21aab6cb993d354ca8a6052c9a6d9dd8">   59</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a21aab6cb993d354ca8a6052c9a6d9dd8">Info</a>(<span class="keyword">const</span> std::string&amp; _directory)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      : <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">directory</a>(_directory) {}</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">   62</a></span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="structmesos_1_1internal_1_1slave_1_1P
 osixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">directory</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="comment">// Track resources so we can unlink unneeded persistent volumes.</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a98a9fcb99a18d92d7de620e6c450c457">   65</a></span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a98a9fcb99a18d92d7de620e6c450c457">resources</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  };</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line
 "><a name="l00068"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa">   68</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa">infos</a>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespace
  mesos {</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif // __POSIX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
+<a href="filesystem_2posix_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a
 ><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//
  distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_FILESYSTEM_ISOLATOR_HPP__</
 span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</
 span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">   30</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">PosixFilesystemIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classm
 esos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad072eb5391ae6d57e9385c22f81108d7">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keyword">virtual</s
 pan> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974">~PosixFilesystemIsolatorProcess</a>();</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">recover</a>(</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphan
 s);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a>(</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword
 ">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad">update</a>(</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#af3f9bf8
 dbaab5e41876e1df38eeaac92">cleanup</a>(</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab18447801d2a94466315cf13b5380424">PosixFilesystemIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesyste
 mIsolatorProcess.html#a94fb86c045c622e26497587ed7b003b9">   55</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a94fb86c045c622e26497587ed7b003b9">flags</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html">   57</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html">Info</a></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  {</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProces
 s_1_1Info.html#a21aab6cb993d354ca8a6052c9a6d9dd8">   59</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a21aab6cb993d354ca8a6052c9a6d9dd8">Info</a>(<span class="keyword">const</span> std::string&amp; _directory)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      : <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">directory</a>(_directory) {}</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">   62</a></span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="structmesos_1_1internal_1_1slave_1_
 1PosixFilesystemIsolatorProcess_1_1Info.html#a22be4c7b517994da90edcb354731d6eb">directory</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="comment">// Track resources so we can unlink unneeded persistent volumes.</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a98a9fcb99a18d92d7de620e6c450c457">   65</a></span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a98a9fcb99a18d92d7de620e6c450c457">resources</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  };</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="li
 ne"><a name="l00068"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa">   68</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa">infos</a>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespa
 ce mesos {</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif // __POSIX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_a94fb86c045c622e26497587ed7b003b9"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a94fb86c045c622e26497587ed7b003b9">mesos::internal::slave::PosixFilesystemIsolatorProcess::flags</a></div><div class="ttdeci">const Flags flags</div><div class="ttdef"><b>Definition:</b> posix.hpp:55</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_ab14ce6d047f10978be388b598055fd40"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">mesos::internal::slave::PosixFilesystemIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_ad8c9d395b93777db8969eec7e0e9f454"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">mesos::internal::slave::PosixFilesystemIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_add12ec059aa66055a96809e50d78f974"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974">mesos::internal::slave::PosixFilesystemIsolatorProcess::~PosixFilesystemIsolatorProcess</a></div><div class="ttdeci">virtual ~PosixFilesystemIsolatorProcess()</div></div>
@@ -70,6 +69,7 @@
 <div class="ttc" id="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info_html_a98a9fcb99a18d92d7de620e6c450c457"><div class="ttname"><a href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a98a9fcb99a18d92d7de620e6c450c457">mesos::internal::slave::PosixFilesystemIsolatorProcess::Info::resources</a></div><div class="ttdeci">Resources resources</div><div class="ttdef"><b>Definition:</b> posix.hpp:65</div></div>
 <div class="ttc" id="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info_html_a21aab6cb993d354ca8a6052c9a6d9dd8"><div class="ttname"><a href="structmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_1_1Info.html#a21aab6cb993d354ca8a6052c9a6d9dd8">mesos::internal::slave::PosixFilesystemIsolatorProcess::Info::Info</a></div><div class="ttdeci">Info(const std::string &amp;_directory)</div><div class="ttdef"><b>Definition:</b> posix.hpp:59</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_afa545f4dcd149870e76a021fdceb296b"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">mesos::internal::slave::PosixFilesystemIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_a972552ae8b127b51bcc7ba3c025dbdfa"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a972552ae8b127b51bcc7ba3c025dbdfa">mesos::internal::slave::PosixFilesystemIsolatorProcess::infos</a></div><div class="ttdeci">hashmap&lt; ContainerID, process::Owned&lt; Info &gt; &gt; infos</div><div class="ttdef"><b>Definition:</b> posix.hpp:68</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess_html_ad072eb5391ae6d57e9385c22f81108d7"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad072eb5391ae6d57e9385c22f81108d7">mesos::internal::slave::PosixFilesystemIsolatorProcess::create</a></div><div class="ttdeci">static Try&lt; mesos::slave::Isolator * &gt; create(const Flags &amp;flags)</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions.html b/content/api/latest/c++/functions.html
index 5b86dce..2190c02 100644
--- a/content/api/latest/c++/functions.html
+++ b/content/api/latest/c++/functions.html
@@ -95,7 +95,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1master_1_1Master.html#a5c9f4952b05b9d4059ad931e06634a1d">mesos::internal::master::Master</a>
 </li>
 <li>___run()
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">mesos::internal::slave::Slave</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">mesos::internal::slave::Slave</a>
 </li>
 <li>___statusUpdate()
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf">mesos::internal::slave::Slave</a>
@@ -180,7 +180,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#a967e320b1d5dd56a1dec05dc3aaa58a2">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess</a>
 </li>
 <li>_ps()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">mesos::internal::tests::MockDocker</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">mesos::internal::tests::MockDocker</a>
 </li>
 <li>_pull()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">mesos::internal::tests::MockDocker</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_a.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_a.html b/content/api/latest/c++/functions_a.html
index 8a44957..427bc27 100644
--- a/content/api/latest/c++/functions_a.html
+++ b/content/api/latest/c++/functions_a.html
@@ -755,7 +755,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#a2d7a87e9cf2ebdc15d78b6d4f65f226f">mesos::internal::tests::ZooKeeperTest::TestWatcher</a>
 </li>
 <li>AwaitProcess()
-: <a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">process::internal::AwaitProcess&lt; T &gt;</a>
+: <a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2">process::internal::AwaitProcess&lt; T &gt;</a>
 </li>
 <li>awaitSessionEvent()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#ac5a9f0ce8ba90b0408483a90f7fe7ef3">mesos::internal::tests::ZooKeeperTest::TestWatcher</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_c.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_c.html b/content/api/latest/c++/functions_c.html
index 6028bcd..117b286 100644
--- a/content/api/latest/c++/functions_c.html
+++ b/content/api/latest/c++/functions_c.html
@@ -329,7 +329,7 @@
 , <a class="el" href="classWindowsErrorBase.html#a0901c393db6d19b248f24faeb638275d">WindowsErrorBase</a>
 </li>
 <li>CollectProcess()
-: <a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">process::internal::CollectProcess&lt; T &gt;</a>
+: <a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">process::internal::CollectProcess&lt; T &gt;</a>
 </li>
 <li>CombinedAuthenticator()
 : <a class="el" href="classmesos_1_1http_1_1authentication_1_1CombinedAuthenticator.html#a8f8d9fe93964ae8b5b0bf52de4bfdaad">mesos::http::authentication::CombinedAuthenticator</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func.html b/content/api/latest/c++/functions_func.html
index d062a41..b7f56cc 100644
--- a/content/api/latest/c++/functions_func.html
+++ b/content/api/latest/c++/functions_func.html
@@ -94,7 +94,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1master_1_1Master.html#a5c9f4952b05b9d4059ad931e06634a1d">mesos::internal::master::Master</a>
 </li>
 <li>___run()
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">mesos::internal::slave::Slave</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">mesos::internal::slave::Slave</a>
 </li>
 <li>___statusUpdate()
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf">mesos::internal::slave::Slave</a>
@@ -176,7 +176,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#a967e320b1d5dd56a1dec05dc3aaa58a2">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess</a>
 </li>
 <li>_ps()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">mesos::internal::tests::MockDocker</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">mesos::internal::tests::MockDocker</a>
 </li>
 <li>_pull()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">mesos::internal::tests::MockDocker</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_a.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_a.html b/content/api/latest/c++/functions_func_a.html
index ea3bc12..cbf8e0e 100644
--- a/content/api/latest/c++/functions_func_a.html
+++ b/content/api/latest/c++/functions_func_a.html
@@ -522,7 +522,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#a216cd0214176130534f57a61eced3882">mesos::internal::tests::ZooKeeperTest::TestWatcher</a>
 </li>
 <li>AwaitProcess()
-: <a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a3c7eb50fa22cee33c4a23485d08866d8">process::internal::AwaitProcess&lt; T &gt;</a>
+: <a class="el" href="classprocess_1_1internal_1_1AwaitProcess.html#a0e045da1bceed37fa84ede31b1609ea2">process::internal::AwaitProcess&lt; T &gt;</a>
 </li>
 <li>awaitSessionEvent()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1ZooKeeperTest_1_1TestWatcher.html#ac5a9f0ce8ba90b0408483a90f7fe7ef3">mesos::internal::tests::ZooKeeperTest::TestWatcher</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_c.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_c.html b/content/api/latest/c++/functions_func_c.html
index a983984..cc52185 100644
--- a/content/api/latest/c++/functions_func_c.html
+++ b/content/api/latest/c++/functions_func_c.html
@@ -250,7 +250,7 @@
 : <a class="el" href="classorg_1_1apache_1_1zookeeper_1_1server_1_1ZooKeeperServer.html#ad8399b4f330682e8a6d702a9b75d21f5">org::apache::zookeeper::server::ZooKeeperServer</a>
 </li>
 <li>CollectProcess()
-: <a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#aeae1fffc984af46ddb3b0570408c5ee0">process::internal::CollectProcess&lt; T &gt;</a>
+: <a class="el" href="classprocess_1_1internal_1_1CollectProcess.html#af00208a3334e48650ebbc034902b1dfe">process::internal::CollectProcess&lt; T &gt;</a>
 </li>
 <li>CombinedAuthenticator()
 : <a class="el" href="classmesos_1_1http_1_1authentication_1_1CombinedAuthenticator.html#a8f8d9fe93964ae8b5b0bf52de4bfdaad">mesos::http::authentication::CombinedAuthenticator</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_k.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_k.html b/content/api/latest/c++/functions_func_k.html
index 87cf742..cfb3540 100644
--- a/content/api/latest/c++/functions_func_k.html
+++ b/content/api/latest/c++/functions_func_k.html
@@ -96,7 +96,7 @@
 <li>keys()
 : <a class="el" href="classBoundedHashMap.html#ab68b4c5ea8887bff0b68853223b130f3">BoundedHashMap&lt; Key, Value &gt;</a>
 , <a class="el" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
-, <a class="el" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">LinkedHashMap&lt; Key, Value &gt;</a>
+, <a class="el" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">LinkedHashMap&lt; Key, Value &gt;</a>
 , <a class="el" href="classmultihashmap.html#a98b8017b73298f95b3cd1666df8ee432">multihashmap&lt; Key, Value, Hash, Equal &gt;</a>
 , <a class="el" href="classMultimap.html#a01131a8d046ea054e12c5680ac36eb5d">Multimap&lt; K, V &gt;</a>
 </li>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_m.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_m.html b/content/api/latest/c++/functions_func_m.html
index b79f67f..8131611 100644
--- a/content/api/latest/c++/functions_func_m.html
+++ b/content/api/latest/c++/functions_func_m.html
@@ -250,7 +250,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockRateLimiter.html#a7ef39625ebff87e4a80f7cff9a6ee13c">mesos::internal::tests::MockRateLimiter</a>
 </li>
 <li>MOCK_CONST_METHOD2()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">mesos::internal::tests::MockDocker</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82">mesos::internal::tests::MockDocker</a>
 </li>
 <li>MOCK_CONST_METHOD3()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">mesos::internal::tests::MockDocker</a>
@@ -281,7 +281,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ad98b29ee42bb4ad9915301323b5621e2">mesos::internal::tests::MockSlave</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#abce17b3fa055970b657667e5f2c5f7f9">mesos::internal::tests::TestAllocator&lt; T &gt;</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestContainerizer.html#a46f5aaa90b1455755644b2a2195aa3d5">mesos::internal::tests::TestContainerizer</a>
-, <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#aa11a2562a50b189dc11365a761989b83">mesos::internal::tests::TestLauncher</a>
+, <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestLauncher.html#a364457036ee4eee072a47db251e590ab">mesos::internal::tests::TestLauncher</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestStore.html#a7ceb58dfb88a61deed514d1612796df5">mesos::internal::tests::TestStore</a>
 , <a class="el" href="classprocess_1_1MockFilter.html#a0040d754098f1ba0ca3f5a416cfba415">process::MockFilter</a>
 </li>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_n.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_n.html b/content/api/latest/c++/functions_func_n.html
index b854eb0..c88b0be 100644
--- a/content/api/latest/c++/functions_func_n.html
+++ b/content/api/latest/c++/functions_func_n.html
@@ -220,7 +220,7 @@
 , <a class="el" href="classmesos_1_1v1_1_1Resources.html#a9c81a237d913519f4b57f0709a93f650">mesos::v1::Resources</a>
 </li>
 <li>NotAcceptable()
-: <a class="el" href="structprocess_1_1http_1_1NotAcceptable.html#a2788e70dbd3a07daaa108513795593a0">process::http::NotAcceptable</a>
+: <a class="el" href="structprocess_1_1http_1_1NotAcceptable.html#a7aa1994f2bf2049346177a29ec75b567">process::http::NotAcceptable</a>
 </li>
 <li>NotFound()
 : <a class="el" href="structprocess_1_1http_1_1NotFound.html#a45432f89f82b758deed0cd6a7994c1fb">process::http::NotFound</a>
@@ -229,19 +229,19 @@
 : <a class="el" href="classprocess_1_1internal_1_1ReaperProcess.html#a9ed3a26894422f571a73edc3a2900e02">process::internal::ReaperProcess</a>
 </li>
 <li>NotImplemented()
-: <a class="el" href="structprocess_1_1http_1_1NotImplemented.html#a6ef0e57cfbd6d82ca46977181b1dc19c">process::http::NotImplemented</a>
+: <a class="el" href="structprocess_1_1http_1_1NotImplemented.html#ac786e0b6d4f5bd8ad74690791bd1c423">process::http::NotImplemented</a>
 </li>
 <li>now()
-: <a class="el" href="classprocess_1_1Clock.html#aeb3feabcc37d4903757ea2a2160f2e32">process::Clock</a>
+: <a class="el" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock</a>
 </li>
 <li>ns()
 : <a class="el" href="classDuration.html#aa3703196ba3797f7833a8348ccb5449a">Duration</a>
 </li>
 <li>NullWriter()
-: <a class="el" href="classJSON_1_1NullWriter.html#a393c690f7f6d1dcde8d0914268cc1bcc">JSON::NullWriter</a>
+: <a class="el" href="classJSON_1_1NullWriter.html#a397ce55e0db98a8cc6722e1443f20710">JSON::NullWriter</a>
 </li>
 <li>Number()
-: <a class="el" href="structJSON_1_1Number.html#a2d64671419def7448cd5540032458ca4">JSON::Number</a>
+: <a class="el" href="structJSON_1_1Number.html#ae2408d078068d8ac8e310d7eba6fced6">JSON::Number</a>
 </li>
 <li>NumberWriter()
 : <a class="el" href="classJSON_1_1NumberWriter.html#ac248fb67aaa7f2bdeeccfd9cbd6b42e7">JSON::NumberWriter</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_p.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_p.html b/content/api/latest/c++/functions_func_p.html
index cc653e6..3f4e7d1 100644
--- a/content/api/latest/c++/functions_func_p.html
+++ b/content/api/latest/c++/functions_func_p.html
@@ -387,7 +387,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#a4f87d68020292e2a547d113fbd06c385">mesos::internal::slave::ProvisionerProcess</a>
 </li>
 <li>ps()
-: <a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">Docker</a>
+: <a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">Docker</a>
 </li>
 <li>publishDefault()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1resource__provider_1_1MockResourceProvider.html#aa4784bdbff8b3b769cc09564f1bddb16">mesos::internal::tests::resource_provider::MockResourceProvider&lt; Event, Call, Driver, ResourceProviderInfo, Resource, Resources, ResourceProviderID, OperationState, Operation, Source &gt;</a>
@@ -417,7 +417,7 @@
 </li>
 <li>put()
 : <a class="el" href="classCache.html#a7b54629fb513d4b1652951bb713a0635">Cache&lt; Key, Value &gt;</a>
-, <a class="el" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
+, <a class="el" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1docker_1_1MetadataManager.html#af672706fe637c9cdad8144233718198e">mesos::internal::slave::docker::MetadataManager</a>
 , <a class="el" href="classmultihashmap.html#ae10d45cc115dd9f16c07e3fb9a980bca">multihashmap&lt; Key, Value, Hash, Equal &gt;</a>
 , <a class="el" href="classMultimap.html#a86848edcdc42b4e0b46e3d6beccec2c6">Multimap&lt; K, V &gt;</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_r.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_r.html b/content/api/latest/c++/functions_func_r.html
index 2283bfa..7e4dcd1 100644
--- a/content/api/latest/c++/functions_func_r.html
+++ b/content/api/latest/c++/functions_func_r.html
@@ -177,7 +177,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1OperationStatusUpdateManager.html#a872c6bc11f75b121b732394a9e874409">mesos::internal::OperationStatusUpdateManager</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1appc_1_1Cache.html#a25eba68d6d270ed5793a9631609c833d">mesos::internal::slave::appc::Cache</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1appc_1_1Store.html#a11eee2bc52c5ad8ba3bebe1bb06518cc">mesos::internal::slave::appc::Store</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">mesos::internal::slave::CgroupsIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">mesos::internal::slave::CgroupsIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ComposingContainerizer.html#a4385c48bb00bf0b9b6f5da2aa1215299">mesos::internal::slave::ComposingContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#afb384accdd6d431e1882cd861de3212d">mesos::internal::slave::Containerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DevicesSubsystemProcess.html#a9666b59888902409cb3b7637e1265c8f">mesos::internal::slave::DevicesSubsystemProcess</a>
@@ -185,25 +185,25 @@
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1docker_1_1Store.html#a78720df311df3e53298548fe5ca92bd4">mesos::internal::slave::docker::Store</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a746949ba7f35257f364278a0067a2e8b">mesos::internal::slave::DockerContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#adc19c004083425e8a167b82ce58c07c8">mesos::internal::slave::DockerContainerizerProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">mesos::internal::slave::DockerVolumeIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">mesos::internal::slave::IOSwitchboard</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">mesos::internal::slave::LinuxLauncher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">mesos::internal::slave::DockerVolumeIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">mesos::internal::slave::IOSwitchboard</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">mesos::internal::slave::LinuxLauncher</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a">mesos::internal::slave::MemorySubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429">mesos::internal::slave::MesosContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a48372e34e21c4a5fe32cd117f32a8a0f">mesos::internal::slave::MesosContainerizerProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">mesos::internal::slave::MesosIsolator</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">mesos::internal::slave::MesosIsolator</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetClsSubsystemProcess.html#a2e73e78026e6b889d960ed8df4326e7e">mesos::internal::slave::NetClsSubsystemProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">mesos::internal::slave::NetworkCniIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">mesos::internal::slave::NetworkCniIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#aa94976e4d3569e51ffdda49d942432d7">mesos::internal::slave::NetworkPortsIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1PerfEventSubsystemProcess.html#a1e65dc17b49000ecb35bf83de8474e68">mesos::internal::slave::PerfEventSubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a47eb4c076201fa2aafa5b5698b15e3fa">mesos::internal::slave::PortMappingIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1">mesos::internal::slave::PosixDiskIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">mesos::internal::slave::PosixIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24">mesos::internal::slave::PosixDiskIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">mesos::internal::slave::PosixIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#aa601942f24b550dfbc8ab63d3113d24c">mesos::internal::slave::Provisioner</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#ac2532fa2d0d8cad571b345748701ab51">mesos::internal::slave::ProvisionerProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa66f55ccd42a6aac647a50d78a3fb29c">mesos::internal::slave::Slave</a>
@@ -214,19 +214,19 @@
 , <a class="el" href="structmesos_1_1internal_1_1slave_1_1state_1_1SlaveState.html#aee41bf2e28323a2a475cdbaba977d4e3">mesos::internal::slave::state::SlaveState</a>
 , <a class="el" href="structmesos_1_1internal_1_1slave_1_1state_1_1TaskState.html#a2e49a328dccecaaef44bb547c79b1e0d">mesos::internal::slave::state::TaskState</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Store.html#a3941ada48ffb0de68285fee5c0104d42">mesos::internal::slave::Store</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59">mesos::internal::slave::SubprocessLauncher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804">mesos::internal::slave::SubprocessLauncher</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Subsystem.html#a19549cadefab1e9160850e7313f118bf">mesos::internal::slave::Subsystem</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html#a408b22e397dda507a2a0f778a6327a1d">mesos::internal::slave::SubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html#a7c7ce88b8ff5596dc40ff9440071372c">mesos::internal::slave::TaskStatusUpdateManager</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">mesos::internal::slave::WindowsCpuIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">mesos::internal::slave::WindowsMemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">mesos::internal::slave::WindowsCpuIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">mesos::internal::slave::WindowsMemIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a369e81c7f2b5ac6314467f963320dde3">mesos::internal::slave::XfsDiskIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1StatusUpdateManagerProcess.html#ab8a393d0453cc8174d71dad6f1e45d6f">mesos::internal::StatusUpdateManagerProcess&lt; IDType, CheckpointType, UpdateType &gt;</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1GenericRegistrar.html#ae302b4f022981d9a01b899c9499aa0d3">mesos::resource_provider::GenericRegistrar</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1MasterRegistrar.html#a31bceb895f04661c08b81344bea0aab2">mesos::resource_provider::MasterRegistrar</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1Registrar.html#a07ac739cc9d2e5950d1913a652a6a992">mesos::resource_provider::Registrar</a>
-, <a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">mesos::slave::Isolator</a>
+, <a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">mesos::slave::Isolator</a>
 , <a class="el" href="classprocess_1_1Future.html#ac02b40b5e590692acf71ea6add116e7b">process::Future&lt; T &gt;</a>
 </li>
 <li>recovered()
@@ -562,7 +562,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1Rootfs.html#a0d1eefd3053932eceda17475fae5f95c">mesos::internal::tests::Rootfs</a>
 </li>
 <li>route()
-: <a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">process::ProcessBase</a>
+: <a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">process::ProcessBase</a>
 </li>
 <li>RouteOptions()
 : <a class="el" href="structprocess_1_1ProcessBase_1_1RouteOptions.html#a9c202f7f06a7cb90499e3365ce338475">process::ProcessBase::RouteOptions</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_t.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_t.html b/content/api/latest/c++/functions_func_t.html
index c0fd472..1e01600 100644
--- a/content/api/latest/c++/functions_func_t.html
+++ b/content/api/latest/c++/functions_func_t.html
@@ -245,7 +245,7 @@
 , <a class="el" href="structprocess_1_1TimeSeries.html#af0f0682a40225778f4c4c931a1380f0e">process::TimeSeries&lt; T &gt;</a>
 </li>
 <li>Try()
-: <a class="el" href="classTry.html#a2fa050bcf6cf16a616bec68abf676973">Try&lt; T, E &gt;</a>
+: <a class="el" href="classTry.html#a8e4688619adae0c7de86cbcae8b91eff">Try&lt; T, E &gt;</a>
 </li>
 <li>type()
 : <a class="el" href="classos_1_1WindowsFD.html#a3ce17a730ace5352a1fc6d49f8336d52">os::WindowsFD</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_u.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_u.html b/content/api/latest/c++/functions_func_u.html
index 0c1064e..8684ff6 100644
--- a/content/api/latest/c++/functions_func_u.html
+++ b/content/api/latest/c++/functions_func_u.html
@@ -131,7 +131,7 @@
 : <a class="el" href="classprocess_1_1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b">process::Mutex</a>
 </li>
 <li>unmocked____run()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24">mesos::internal::tests::MockSlave</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6">mesos::internal::tests::MockSlave</a>
 </li>
 <li>unmocked___recover()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae3044d22a2b9dceb14da7da0a7fe6279">mesos::internal::tests::MockSlave</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_func_v.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_func_v.html b/content/api/latest/c++/functions_func_v.html
index a815992..534e107 100644
--- a/content/api/latest/c++/functions_func_v.html
+++ b/content/api/latest/c++/functions_func_v.html
@@ -145,8 +145,8 @@
 </li>
 <li>values()
 : <a class="el" href="classBoundedHashMap.html#a3230dcf13d6b5099fe3aba148573e7a9">BoundedHashMap&lt; Key, Value &gt;</a>
-, <a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
-, <a class="el" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">LinkedHashMap&lt; Key, Value &gt;</a>
+, <a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
+, <a class="el" href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">LinkedHashMap&lt; Key, Value &gt;</a>
 </li>
 <li>Variable()
 : <a class="el" href="classJvm_1_1Variable.html#afa8ea3c368c4c21313662eace2cc14f3">Jvm::Variable&lt; T, name, signature &gt;</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_g.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_g.html b/content/api/latest/c++/functions_g.html
index 315ffff..0afac1b 100644
--- a/content/api/latest/c++/functions_g.html
+++ b/content/api/latest/c++/functions_g.html
@@ -354,10 +354,10 @@
 </li>
 <li>GroupProcess
 : <a class="el" href="structzookeeper_1_1Group_1_1Membership.html#af98627d242b828f8f25413b5f1504aa2">zookeeper::Group::Membership</a>
-, <a class="el" href="classzookeeper_1_1GroupProcess.html#a58c1015ffb0ea042f52cec298de9bce7">zookeeper::GroupProcess</a>
+, <a class="el" href="classzookeeper_1_1GroupProcess.html#acecaf6cd579a8462517a0986d7de75b7">zookeeper::GroupProcess</a>
 </li>
 <li>GzipError()
-: <a class="el" href="classgzip_1_1internal_1_1GzipError.html#ae37852986117d5d162983538ad51dd33">gzip::internal::GzipError</a>
+: <a class="el" href="classgzip_1_1internal_1_1GzipError.html#a1ccd6de1092e6b9410c059e075e7bcd4">gzip::internal::GzipError</a>
 </li>
 </ul>
 </div><!-- contents -->

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_h.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_h.html b/content/api/latest/c++/functions_h.html
index 6887392..f13b2ad 100644
--- a/content/api/latest/c++/functions_h.html
+++ b/content/api/latest/c++/functions_h.html
@@ -242,7 +242,7 @@
 : <a class="el" href="classDuration.html#a0564918aa36599b575e155644f4513a3">Duration</a>
 </li>
 <li>Hours()
-: <a class="el" href="classHours.html#a0c49e25ef71480b8615087c74ccb770f">Hours</a>
+: <a class="el" href="classHours.html#ae39f92f6e5d64cc6325d7652de7fb9d8">Hours</a>
 </li>
 <li>hrs()
 : <a class="el" href="classDuration.html#a66d69bb283add7d88e97e8fe61ec1a85">Duration</a>
@@ -296,7 +296,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a1f31bb13b5032f7ba566a21f55d6b7d6">mesos::internal::HttpConnectionProcess&lt; Call, Event &gt;</a>
 </li>
 <li>HttpEvent()
-: <a class="el" href="structprocess_1_1HttpEvent.html#a9215c70125b736a8a6814f32f5fa25e2">process::HttpEvent</a>
+: <a class="el" href="structprocess_1_1HttpEvent.html#ae3657cc566774e467e7cdade50291143">process::HttpEvent</a>
 </li>
 <li>HttpProxy()
 : <a class="el" href="classprocess_1_1HttpProxy.html#a019c3e5c243cf6aad5c52be8cb6b33d3">process::HttpProxy</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_k.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_k.html b/content/api/latest/c++/functions_k.html
index f4618a1..bc4a8df 100644
--- a/content/api/latest/c++/functions_k.html
+++ b/content/api/latest/c++/functions_k.html
@@ -103,7 +103,7 @@
 <li>keys()
 : <a class="el" href="classBoundedHashMap.html#ab68b4c5ea8887bff0b68853223b130f3">BoundedHashMap&lt; Key, Value &gt;</a>
 , <a class="el" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
-, <a class="el" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">LinkedHashMap&lt; Key, Value &gt;</a>
+, <a class="el" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">LinkedHashMap&lt; Key, Value &gt;</a>
 , <a class="el" href="classmultihashmap.html#a98b8017b73298f95b3cd1666df8ee432">multihashmap&lt; Key, Value, Hash, Equal &gt;</a>
 , <a class="el" href="classMultimap.html#a01131a8d046ea054e12c5680ac36eb5d">Multimap&lt; K, V &gt;</a>
 </li>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_m.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_m.html b/content/api/latest/c++/functions_m.html
index d8ad3a5..d388502 100644
--- a/content/api/latest/c++/functions_m.html
+++ b/content/api/latest/c++/functions_m.html
@@ -478,7 +478,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockRateLimiter.html#a7ef39625ebff87e4a80f7cff9a6ee13c">mesos::internal::tests::MockRateLimiter</a>
 </li>
 <li>MOCK_CONST_METHOD2()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">mesos::internal::tests::MockDocker</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82">mesos::internal::tests::MockDocker</a>
 </li>
 <li>MOCK_CONST_METHOD3()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">mesos::internal::tests::MockDocker</a>
@@ -526,7 +526,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockContainerizer.html#a07c06769bc9639918d4424fb8284ce2e">mesos::internal::tests::MockContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#afa5ce77a86dbbd0b7bbc9abdb14c02f3">mesos::internal::tests::MockDockerContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockExecutor.html#acb472049fabcaa36f7f841b60ab876a1">mesos::internal::tests::MockExecutor</a>
-, <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">mesos::internal::tests::MockIsolator</a>
+, <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">mesos::internal::tests::MockIsolator</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockScheduler.html#ae916d3138daed0658d1e4b0b71ed1387">mesos::internal::tests::MockScheduler</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#a198bd73abe1de21b424cc9552e433a07">mesos::internal::tests::MockSlave</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1TestAllocator.html#af4c54ddd015f24bf9ff2d5b1cde6c87e">mesos::internal::tests::TestAllocator&lt; T &gt;</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_n.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_n.html b/content/api/latest/c++/functions_n.html
index a58e2df..b8a2050 100644
--- a/content/api/latest/c++/functions_n.html
+++ b/content/api/latest/c++/functions_n.html
@@ -97,7 +97,7 @@
 , <a class="el" href="structflags_1_1Flag.html#a239ef85712dd1cb4c06bcd1177a489b2">flags::Flag</a>
 </li>
 <li>Name()
-: <a class="el" href="structflags_1_1Name.html#aade2f31e63c84733e639817137d48389">flags::Name</a>
+: <a class="el" href="structflags_1_1Name.html#a341f15992435778177fba1fb437ad0cd">flags::Name</a>
 </li>
 <li>name
 : <a class="el" href="structldcache_1_1Entry.html#a14aada8915a8f649ff6f2fde999f93e4">ldcache::Entry</a>
@@ -154,17 +154,21 @@
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1KillPolicyTestHelper.html#a10eecc0ec13819b8117167b4a349034d">mesos::internal::tests::KillPolicyTestHelper</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1MemoryTestHelper.html#aa5dad9a209f238aa7d65dde34d8e5c2d">mesos::internal::tests::MemoryTestHelper</a>
 , <a class="el" href="classmesos_1_1internal_1_1tests_1_1SetnsTestHelper.html#a10f7ff24e377e39c6c01dab68bfc2ede">mesos::internal::tests::SetnsTestHelper</a>
-, <a class="el" href="classmesos_1_1uri_1_1CopyFetcherPlugin.html#ae6ff1cef4e490fa372960bf17f8446a9">mesos::uri::CopyFetcherPlugin</a>
 </li>
 <li>name()
 : <a class="el" href="classmesos_1_1uri_1_1CopyFetcherPlugin.html#ab183d70e36bb66b5f55c543637488881">mesos::uri::CopyFetcherPlugin</a>
 </li>
 <li>NAME
-: <a class="el" href="classmesos_1_1uri_1_1CurlFetcherPlugin.html#a899fab81e86817aad545389c3cc5b535">mesos::uri::CurlFetcherPlugin</a>
+: <a class="el" href="classmesos_1_1uri_1_1CopyFetcherPlugin.html#ae6ff1cef4e490fa372960bf17f8446a9">mesos::uri::CopyFetcherPlugin</a>
 </li>
 <li>name()
 : <a class="el" href="classmesos_1_1uri_1_1CurlFetcherPlugin.html#a3797f96a62adbc485e54c139cb967d3b">mesos::uri::CurlFetcherPlugin</a>
-, <a class="el" href="classmesos_1_1uri_1_1DockerFetcherPlugin.html#ab99142c6fad3fff779336e6f7002d700">mesos::uri::DockerFetcherPlugin</a>
+</li>
+<li>NAME
+: <a class="el" href="classmesos_1_1uri_1_1CurlFetcherPlugin.html#a899fab81e86817aad545389c3cc5b535">mesos::uri::CurlFetcherPlugin</a>
+</li>
+<li>name()
+: <a class="el" href="classmesos_1_1uri_1_1DockerFetcherPlugin.html#ab99142c6fad3fff779336e6f7002d700">mesos::uri::DockerFetcherPlugin</a>
 </li>
 <li>NAME
 : <a class="el" href="classmesos_1_1uri_1_1DockerFetcherPlugin.html#ad942cc6916621fcfb8f714a76aaf2487">mesos::uri::DockerFetcherPlugin</a>
@@ -339,7 +343,7 @@
 : <a class="el" href="structprocess_1_1http_1_1NotAcceptable.html#a2788e70dbd3a07daaa108513795593a0">process::http::NotAcceptable</a>
 </li>
 <li>NotFound()
-: <a class="el" href="structprocess_1_1http_1_1NotFound.html#afd150061e7afc57ec91516045b09c703">process::http::NotFound</a>
+: <a class="el" href="structprocess_1_1http_1_1NotFound.html#a45432f89f82b758deed0cd6a7994c1fb">process::http::NotFound</a>
 </li>
 <li>notify()
 : <a class="el" href="classprocess_1_1internal_1_1ReaperProcess.html#a9ed3a26894422f571a73edc3a2900e02">process::internal::ReaperProcess</a>
@@ -348,7 +352,7 @@
 : <a class="el" href="structprocess_1_1http_1_1NotImplemented.html#ac786e0b6d4f5bd8ad74690791bd1c423">process::http::NotImplemented</a>
 </li>
 <li>now()
-: <a class="el" href="classprocess_1_1Clock.html#aeb3feabcc37d4903757ea2a2160f2e32">process::Clock</a>
+: <a class="el" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock</a>
 </li>
 <li>ns()
 : <a class="el" href="classDuration.html#aa3703196ba3797f7833a8348ccb5449a">Duration</a>
@@ -366,10 +370,10 @@
 : <a class="el" href="structproc_1_1ProcessStatus.html#ae1165a6a5e77977d3d0ee8f081c8b4ca">proc::ProcessStatus</a>
 </li>
 <li>Number()
-: <a class="el" href="structJSON_1_1Number.html#a64361b5b1c34e311ab9407cbc6ccb136">JSON::Number</a>
+: <a class="el" href="structJSON_1_1Number.html#ae2408d078068d8ac8e310d7eba6fced6">JSON::Number</a>
 </li>
 <li>NumberWriter()
-: <a class="el" href="classJSON_1_1NumberWriter.html#a1be0121f097633e2cb20166183e32ea7">JSON::NumberWriter</a>
+: <a class="el" href="classJSON_1_1NumberWriter.html#a88564fb4ce2096eb336d68b854a747d2">JSON::NumberWriter</a>
 </li>
 <li>NvidiaGpuAllocator()
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuAllocator.html#ae719bef3975380c61e888f73ae801d8f">mesos::internal::slave::NvidiaGpuAllocator</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_p.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_p.html b/content/api/latest/c++/functions_p.html
index 52c4f9a..515bd99 100644
--- a/content/api/latest/c++/functions_p.html
+++ b/content/api/latest/c++/functions_p.html
@@ -187,12 +187,14 @@
 <li>Path()
 : <a class="el" href="classPath.html#af26cfab021ddf49af73da3b2beca85ac">Path</a>
 </li>
+<li>path
+: <a class="el" href="structprocess_1_1http_1_1Response.html#aad42d5f8c85b81742de9f3f1a0f6d328">process::http::Response</a>
+</li>
 <li>PATH
 : <a class="el" href="structprocess_1_1http_1_1Response.html#a6dd5881e0450540a106e37257434eaada069715e7afa526f4f971dcf3d704b5c8">process::http::Response</a>
 </li>
 <li>path
-: <a class="el" href="structprocess_1_1http_1_1Response.html#aad42d5f8c85b81742de9f3f1a0f6d328">process::http::Response</a>
-, <a class="el" href="structprocess_1_1http_1_1URL.html#a184ec5f02b451f1d53b1ac5032a68dac">process::http::URL</a>
+: <a class="el" href="structprocess_1_1http_1_1URL.html#a184ec5f02b451f1d53b1ac5032a68dac">process::http::URL</a>
 , <a class="el" href="classprocess_1_1network_1_1unix_1_1Address.html#a93470f74fdd461facf698287be9a13fb">process::network::unix::Address</a>
 </li>
 <li>PATH()
@@ -235,7 +237,7 @@
 : <a class="el" href="structmesos_1_1internal_1_1slave_1_1TaskStatusUpdateStream.html#a3ea3635479f2248ec2e0ec6100142f76">mesos::internal::slave::TaskStatusUpdateStream</a>
 </li>
 <li>pendingTaskGroups
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">mesos::internal::slave::Framework</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82">mesos::internal::slave::Framework</a>
 </li>
 <li>pendingTasks
 : <a class="el" href="structmesos_1_1internal_1_1master_1_1Framework.html#a146261f2447bec7776ebd06a80178d09">mesos::internal::master::Framework</a>
@@ -574,7 +576,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#aad146c139ae4cf525af67ff02b8e46da">mesos::internal::slave::ProvisionerProcess</a>
 </li>
 <li>Provisioner()
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#a5e75687448e6a0d872e6ffdb665849ab">mesos::internal::slave::Provisioner</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#ac76bb3ae65c6e316914bcfef8730155e">mesos::internal::slave::Provisioner</a>
 </li>
 <li>ProvisionerProcess()
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#a05f41f06d07ed3ac032769ab6d117c12">mesos::internal::slave::ProvisionerProcess</a>
@@ -617,7 +619,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#a4f87d68020292e2a547d113fbd06c385">mesos::internal::slave::ProvisionerProcess</a>
 </li>
 <li>ps()
-: <a class="el" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">Docker</a>
+: <a class="el" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">Docker</a>
 </li>
 <li>pstree
 : <a class="el" href="classos_1_1ProcessTree.html#aee678f34e93564ef84a6e2248ad769a1">os::ProcessTree</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_q.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_q.html b/content/api/latest/c++/functions_q.html
index 2661c1f..6793c34 100644
--- a/content/api/latest/c++/functions_q.html
+++ b/content/api/latest/c++/functions_q.html
@@ -107,7 +107,7 @@
 : <a class="el" href="classprocess_1_1Queue.html#a674a915e518d5bb71bcca95fb593be6c">process::Queue&lt; T &gt;</a>
 </li>
 <li>queuedTaskGroups
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">mesos::internal::slave::Executor</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed">mesos::internal::slave::Executor</a>
 </li>
 <li>queuedTasks
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">mesos::internal::slave::Executor</a>


[29/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/http__connection_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/http__connection_8hpp_source.html b/content/api/latest/c++/http__connection_8hpp_source.html
index 3c12b6b..8f4b91b 100644
--- a/content/api/latest/c++/http__connection_8hpp_source.html
+++ b/content/api/latest/c++/http__connection_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">http_connection.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="http__connection_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a>
 <span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// 
 distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __RESOURCE_PROVIDER_HTTP_CONNECTION_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __RESOURCE_PROVIDER_HTTP_CON
 NECTION_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;glog/logging.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;tuple&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span cl
 ass="preprocessor">#include &lt;queue&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2http_8hpp.html">mesos/http.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2v1_2mesos_8hpp.html">mesos/v1/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class
 ="code" href="async_8hpp.html">process/async.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="collect_8hpp.html">process/collect.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="defer_8hpp.html">process/defer.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" hr
 ef="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="mutex_8hpp.html">process/mutex.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></di
 v><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2recordio_8hpp.html">stout/recordio.hpp</a>&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="result_8hpp.html">stout/result.hpp</a>&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="unreachable_8hpp.html">stout/unreachable.hpp</a>&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="uuid_8hpp.html">stout/uuid
 .hpp</a>&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2common_2http_8hpp.html">common/http.hpp</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2common_2recordio_8hpp.html">common/recordio.hpp</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2resource__provider_2detector_8hpp.html">resource_provider/detector.hpp</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="li
 neno">   55</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Call, <span class="keyword">typename</span> Event&gt;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">class </span>HttpConnectionProcess</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;HttpConnectionProcess&lt;Call, Event&gt;&gt;</div><div c
 lass="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a1f31bb13b5032f7ba566a21f55d6b7d6">   84</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a1f31bb13b5032f7ba566a21f55d6b7d6">HttpConnectionProcess</a>(</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1libraries_1_1Library.html#ab0e1a0e311049b6d685de1068e8f4690">prefix</a>,</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;EndpointDetector&gt;</a> _detector,</div><div class="line">
 <a name="l00087"></a><span class="lineno">   87</span>&#160;      <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _token,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> std::function&lt;<a class="code" href="classOption.html">Option&lt;Error&gt;</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">Call</a>&amp;)&gt;&amp; <a class="code" href="namespaceappc_1_1spec.html#a1f003511d7ad7c4792223d0b11b60f62">validate</a>,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</span> std::function&
 lt;<span class="keywordtype">void</span>(<span class="keywordtype">void</span>)&gt;&amp; <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3619fba1b">connected</a>,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">const</span> std::function&lt;<span class="keywordtype">void</span>(<span class="keywordtype">void</span>)&gt;&amp; <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> std::function&lt;<span class="keywordtype">void</span>(<span class="keyword">const</span> std::queue&lt;Event&gt;&amp;)&gt;&amp; received)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    : <a class="code" href="namespaceprocess.html">process</a>::<a class="code" hr
 ef="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(prefix)),</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      state(State::DISCONNECTED),</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      contentType(_contentType),</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      token(_token),</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      callbacks {<a class="code" href="namespaceappc_1_1spec.html#a1f003511d7ad7c4792223d0b11b60f62">validate</a>, <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3619fba1b">connected</a>, <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f2
 3195038588deaae134bba01b6f79a">disconnected</a>, received},</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      detector(std::move(_detector)) {}</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a07daef2f77a33b44451c4cf7d53ff627">  100</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a07daef2f77a33b44451c4cf7d53ff627">send</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">Call</a>&amp; call)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  {</div><div class="line"><a name="l00102"></a><span class="lineno">  
 102</span>&#160;    <a class="code" href="classOption.html">Option&lt;Error&gt;</a> <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1cni_1_1spec.html#ae58e703656ab4a1bd5d9870441236727">error</a> = callbacks.validate(call);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordflow">if</span> (error.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(error-&gt;<a class="code" href="classError.html#a2d13609e80acd2a2a473a26f273b1c4f">message</a>);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    }</div><div class="line"><a name="l00107"></a><span class="lineno">  10
 7</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordflow">if</span> (endpoint.<a class="code" href="classOption.html#a06eab791122ebc1f8af4ad310e5e7d7e">isNone</a>()) {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Not connected to an endpoint&quot;</span>);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordflow">if</span> (call.type() == Call::SUBSCRIBE &amp;&amp; state != State::CONNECTED) {</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="comment"
 >// It might be possible that the client is retrying. We drop the</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="comment">// request if we have an ongoing subscribe request in flight or</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="comment">// if the client is already subscribed.</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;          <span class="stringliteral">&quot;Cannot process &#39;SUBSCRIBE&#39; call as the driver is in &quot;</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;          <span class="stringliteral">&quot;state &quot;</span> + <a class="code" href="namespac
 ens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(state));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    }</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordflow">if</span> (call.type() != Call::SUBSCRIBE &amp;&amp; state != State::SUBSCRIBED) {</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="comment">// We drop all non-subscribe calls if we are not currently subscribed.</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          <span class="stringliteral">&quot;Cannot process &#39;&quot;</span> + <a cl
 ass="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(call.type()) + <span class="stringliteral">&quot;&#39; call &quot;</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          <span class="stringliteral">&quot;as the driver is in state &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(state));</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    }</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    CHECK(state == State::CONNECTED || state == State::SUBSCRIBED);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(connections);</div><div class="line"><a name="l00130
 "></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Sending &quot;</span> &lt;&lt; call.type() &lt;&lt; <span class="stringliteral">&quot; call to &quot;</span> &lt;&lt; endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a> <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    request.<a class="code" href="structprocess_1_1http_1_1Request.html#a2e81202fca3244a7de00ac7bb253d59d">method</a> = <span class="stringliteral">&quot;POST&
 quot;</span>;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    request.<a class="code" href="structprocess_1_1http_1_1Request.html#aba3024fe3e1028d19f5fb4e92519cb56">url</a> = endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    request.<a class="code" href="structprocess_1_1http_1_1Request.html#a78dfcfa785afc80e221d92543ff617f1">body</a> = <a class="code" href="namespacemesos_1_1internal.html#a9c1f91de8a8a389b357b81f7b51b0554">serialize</a>(contentType, call);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    request.<a class="code" href="structprocess_1_1http_1_1Request.html#a3a459e9dbce042511e6359533f6925d4">keepAlive</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    request.<a class="code" href="structp
 rocess_1_1http_1_1Request.html#a53555a597f9376d2dd71daa799a90494">headers</a> = {{<span class="stringliteral">&quot;Accept&quot;</span>, <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(contentType)},</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                       {<span class="stringliteral">&quot;Content-Type&quot;</span>, <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(contentType)}};</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">if</span> (token.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      request.<a class="code" href="structprocess_1_1http_1_1Request.html#a53555a597f9376d2dd71daa
 799a90494">headers</a>[<span class="stringliteral">&quot;Authorization&quot;</span>] = <span class="stringliteral">&quot;Bearer &quot;</span> + token.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    }</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> response;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">if</span> (call.type() == Call::SUBSCRIBE) {</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      CHECK_EQ(State::CONNECTED, state);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      state = State::SUBS
 CRIBING;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="comment">// Send a streaming request for Subscribe call.</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      response = connections-&gt;subscribe.send(request, <span class="keyword">true</span>);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keywordflow">if</span> (streamId.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="comment">// Set the stream ID associated with this connection.</span></div><div class="line"><a name="l0
 0155"></a><span class="lineno">  155</span>&#160;        request.<a class="code" href="structprocess_1_1http_1_1Request.html#a53555a597f9376d2dd71daa799a90494">headers</a>[<span class="stringliteral">&quot;Mesos-Stream-Id&quot;</span>] = streamId-&gt;<a class="code" href="structid_1_1UUID.html#af024badbc379374ac635031eed57dc5f">toString</a>();</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      }</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      response = connections-&gt;nonSubscribe.send(request);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    }</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e
 107071f4b85d4cc135a265">CHECK_SOME</a>(connectionId);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordflow">return</span> response.<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>(</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(),</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;              &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6c415777d634e0b4ffed169eeef13838">Self::_send</a>,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;              connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79
 ">get</a>(),</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;              call,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;              lambda::_1));</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  }</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a589d04f6de8671d1842d488ae9039bc5">  171</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a589d04f6de8671d1842d488ae9039bc5">start</a>()</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    detection = detector-&gt;detect(<a class="code" href="structNone.h
 tml">None</a>())</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      .onAny(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#afb0a8be87808f508914cc2207ae59428">Self::detected</a>, lambda::_1));</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  }</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="comment">// Because we&#39;re deriving from a templated base class, we have</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="comment">// to explicitly bring thes
 e hidden base class names into scope.</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keyword">using</span> <a class="code" href="classprocess_1_1Process.html">process::Process&lt;HttpConnectionProcess&lt;Call, Event&gt;</a>&gt;<a class="code" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">::self</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a15a7b927d5655f1e59ea1bd43d2fe8f9">  181</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html">HttpConnectionProcess&lt;Call, Event&gt;</a> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a15a7b927d5655f1e59ea1bd43d2fe8f9">Self</a>;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span cla
 ss="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#aae8683e301cded923007452565426324">  183</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#aae8683e301cded923007452565426324">finalize</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9fd245d04700870e03111f9471d1d858">disconnect</a>();</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  }</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#afb0a8be
 87808f508914cc2207ae59428">  188</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#afb0a8be87808f508914cc2207ae59428">detected</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;process::http::URL&gt;</a>&gt;&amp; future)</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">if</span> (future.isFailed()) {</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Failed to detect an endpoint: &quot;</span> &lt;&lt; future.failure();</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span 
 class="lineno">  193</span>&#160;      <span class="comment">// TODO(nfnt): A non-retryable error might be the reason for the</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <span class="comment">// failed future. In that case the client should be informed</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <span class="comment">// about this error and the URL dectection aborted.</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    }</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">// Invoke the disconnected callback if we were previously connected.</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">switch</span> (state) {</div><div class="lin
 e"><a name="l00200"></a><span class="lineno">  200</span>&#160;      <span class="keywordflow">case</span> State::CONNECTING:</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keywordflow">case</span> State::DISCONNECTED:</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <span class="keywordflow">case</span> State::CONNECTED:</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      <span class="keywordflow">case</span> State::SUBSCRIBING:</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <span class="keywordflow">case</span> State::SUBSCRIBED: {</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        mutex.<a class="code" href="classprocess_1_1Mutex.html#a2983b
 29453c623f58b843d924598793b">lock</a>()</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          .<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), [<span class="keyword">this</span>]() {</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#a92b69ab22f734498cfe8cf6edd92fd2a">process::async</a>(callbacks.disconnected);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;          }))</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          .onAny(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(&amp;<a class="code" href="classprocess_1
 _1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b">process::Mutex::unlock</a>, mutex));</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      }</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    }</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9fd245d04700870e03111f9471d1d858">disconnect</a>();</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordflow">if</span> (future.isDiscarded()) {</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;      LOG(INFO) &lt;&lt; <span class="stringliteral">&quot;Re-detecting endpoint&quot;</span>;</div><div class="line">
 <a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      endpoint = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (future-&gt;isNone()) {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;      LOG(INFO) &lt;&lt; <span class="stringliteral">&quot;Lost endpoint&quot;</span>;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      endpoint = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00225"></a><span class="lineno"
 >  225</span>&#160;      endpoint = future-&gt;get();</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      LOG(INFO) &lt;&lt; <span class="stringliteral">&quot;New endpoint detected at &quot;</span> &lt;&lt; endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      connectionId = <a class="code" href="structid_1_1UUID.html#a6d8296fba33c5d84a64e4a882fcdc280">id::UUID::random</a>();</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      <a class="code" href="namespaceprocess_1_1internal.html#ac34bccdf47fcfa46cedf2a03771eb221">dispatch</a>(<span c
 lass="keyword">self</span>(), &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a0e32a05c88072b7db23e87a384ffa1ea">Self::connect</a>, connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>());</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    }</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    detection = detector-&gt;detect(endpoint)</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      .onAny(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#afb0a8be87808f508914cc2207ae59428">Self::detected</a>, lambda::_1));</div><div class="line"><a name="l00236"></a><span class="line
 no">  236</span>&#160;  }</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a0e32a05c88072b7db23e87a384ffa1ea">  238</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a0e32a05c88072b7db23e87a384ffa1ea">connect</a>(<span class="keyword">const</span> <a class="code" href="structid_1_1UUID.html">id::UUID</a>&amp; _connectionId)</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  {</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="comment">// It is possible that a new endpoint was detected while we were</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="comment">// waiting to establish a connection w
 ith the old master.</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordflow">if</span> (connectionId != _connectionId) {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;      VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Ignoring connection attempt from stale connection&quot;</span>;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(endpoint);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    CHECK_EQ(S
 tate::DISCONNECTED, state);</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    state = State::CONNECTING;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="comment">// We create two persistent connections here, one for subscribe</span></div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="comment">// call/streaming response and another for non-subscribe</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="comment">// calls/responses.</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">collect</a>(</div><div class="li
 ne"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <a class="code" href="namespaceprocess_1_1http.html#a54e53c8006298fe99e3fb5f55c0e8c41">process::http::connect</a>(endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>()),</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <a class="code" href="namespaceprocess_1_1http.html#a54e53c8006298fe99e3fb5f55c0e8c41">process::http::connect</a>(endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>()))</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;      .<a class="code" href="classprocess_1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3
 619fba1b">Self::connected</a>, connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), lambda::_1));</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  }</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3619fba1b">  261</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3619fba1b">connected</a>(</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      <span class="keyword">const</span> <a class="code" href="structid_1_1UUID.html">id::UUID</a>&amp; _connectionId,</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      <span class="keyword">const</s
 pan> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::tuple&lt;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <a class="code" href="classprocess_1_1http_1_1Connection.html">process::http::Connection</a>, <a class="code" href="classprocess_1_1http_1_1Connection.html">process::http::Connection</a>&gt;&gt;&amp; _connections)</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  {</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="comment">// It is possible that a new endpoint was detected while we had an</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="comment">// ongoing (re-)connection attempt with the old endpoint.</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">if</span> (connectionId != _connectionId)
  {</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;      VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Ignoring connection attempt from stale connection&quot;</span>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    }</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    CHECK_EQ(State::CONNECTING, state);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">if</span> (!_connections.isReady()) {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;      <a class="code" href="classmesos_1_1inte
 rnal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>(connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(),</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                   _connections.isFailed()</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                     ? _connections.failure()</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                     : <span class="stringliteral">&quot;Connection future discarded&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    }</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283<
 /span>&#160;    VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Connected with the remote endpoint at &quot;</span> &lt;&lt; endpoint.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>();</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    state = State::CONNECTED;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    connections = Connections {</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        std::get&lt;0&gt;(_connections.get()),</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        std::get&lt;1&gt;(_connections.get())};</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l0
 0291"></a><span class="lineno">  291</span>&#160;    connections-&gt;subscribe.disconnected()</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;      .onAny(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          <span class="keyword">self</span>(),</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;          &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">Self::disconnected</a>,</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;          connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(),</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;          <span class="stringliteral">&quot;Subscribe connection interrupted&quot
 ;</span>));</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    connections-&gt;nonSubscribe.disconnected()</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      .onAny(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;          <span class="keyword">self</span>(),</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;          &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">Self::disconnected</a>,</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;          connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(),</div><div class="line"><a name=
 "l00303"></a><span class="lineno">  303</span>&#160;          <span class="stringliteral">&quot;Non-subscribe connection interrupted&quot;</span>));</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="comment">// Invoke the connected callback once we have established both</span></div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="comment">// subscribe and non-subscribe connections with the master.</span></div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    mutex.<a class="code" href="classprocess_1_1Mutex.html#a2983b29453c623f58b843d924598793b">lock</a>()</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;      .<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70b65a41">then</a>(<a class="code" href="namespaceproces
 s.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), [<span class="keyword">this</span>]() {</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#a92b69ab22f734498cfe8cf6edd92fd2a">process::async</a>(callbacks.connected);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      }))</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;      .onAny(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(&amp;<a class="code" href="classprocess_1_1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b">process::Mutex::unlock</a>, mutex));</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  }</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><
 a name="l00314"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9fd245d04700870e03111f9471d1d858">  314</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9fd245d04700870e03111f9471d1d858">disconnect</a>()</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  {</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="keywordflow">if</span> (connections.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;      connections-&gt;subscribe.disconnect();</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;      connections-&gt;nonSubscribe.disconnect();</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;
     }</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordflow">if</span> (subscribed.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;      subscribed-&gt;reader.close();</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    state = State::DISCONNECTED;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    connections = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l0032
 8"></a><span class="lineno">  328</span>&#160;    subscribed = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    endpoint = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    connectionId = <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    detection.<a class="code" href="classprocess_1_1Future.html#a4012f3faa6191fc13874dca62c14ced0">discard</a>();</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">  334</a></span>&#160;  <span class="k
 eywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>(<span class="keyword">const</span> <a class="code" href="structid_1_1UUID.html">id::UUID</a>&amp; _connectionId, <span class="keyword">const</span> std::string&amp; failure)</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  {</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">// Ignore if the disconnection happened from an old stale connection.</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">if</span> (connectionId != _connectionId) {</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Ignoring disconnection attempt from stale connection&quot;</span>;</div><div class="line"><a name="l00
 339"></a><span class="lineno">  339</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    }</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="comment">// We can reach here if we noticed a disconnection for either of</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="comment">// subscribe/non-subscribe connections. We discard the future here</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="comment">// to trigger an endpoint re-detection.</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    detection.<a class="code" href="classprocess_1_1Future.html#a4012f3faa6191fc13874dca62c14ced0">discard</a>();</div><div cl
 ass="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  }</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6c415777d634e0b4ffed169eeef13838">  348</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6c415777d634e0b4ffed169eeef13838">_send</a>(</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;      <span class="keyword">const</span> <a class="code" href="structid_1_1UUID.html">id::UUID</a>&amp; _connectionId,</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727
 af398eb79">Call</a>&amp; call,</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Response.html">process::http::Response</a>&amp; response)</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  {</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="comment">// It is possible that we detected a new endpoint before a</span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="comment">// response could be received.</span></div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="keywordflow">if</span> (connectionId != _connectionId) {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Fai
 lure.html">process::Failure</a>(<span class="stringliteral">&quot;Ignoring response from stale connection&quot;</span>);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    CHECK(state == State::SUBSCRIBING || state == State::SUBSCRIBED) &lt;&lt; state;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keywordflow">if</span> (response.<a class="code" href="structprocess_1_1http_1_1Response.html#ad6530fddd03380dbb3b23b17523cb242">code</a> == <a class="code" href="structprocess_1_1http_1_1Status.html#ae105d018cfcf82f5c19c79196101fd9b">process::http::Status::OK</a>) {</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;
       <span class="comment">// Only SUBSCRIBE call should get a &quot;200 OK&quot; response.</span></div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;      CHECK_EQ(Call::SUBSCRIBE, call.type());</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;      CHECK_EQ(<a class="code" href="structprocess_1_1http_1_1Response.html#a6dd5881e0450540a106e37257434eaada8d713d3c6326b2c6f5730c5f46f3e3f0">process::http::Response::PIPE</a>, response.<a class="code" href="structprocess_1_1http_1_1Response.html#a6846045a3c3df3abd8e2735847af3a79">type</a>);</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;      <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(response.<a class="code" href="structprocess_1_1http_1_1Response.html#aa3543eb8ecd36f5d6d91b2640d471359">reader</a>);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</
 span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      state = State::SUBSCRIBED;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;      <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Reader.html">process::http::Pipe::Reader</a> reader = response.<a class="code" href="structprocess_1_1http_1_1Response.html#aa3543eb8ecd36f5d6d91b2640d471359">reader</a>.get();</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;      <span class="keyword">auto</span> deserializer =</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(deserialize&lt;Event&gt;, contentType, lambda
 ::_1);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;recordio::Reader&lt;Event&gt;</a>&gt; decoder(</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;          <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1recordio_1_1Reader.html">recordio::Reader&lt;Event&gt;</a>(</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;              ::<a class="code" href="classrecordio_1_1Decoder.html">recordio::Decoder&lt;Event&gt;</a>(deserializer),</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;              reader));</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</spa
 n>&#160;      subscribed = SubscribedResponse(reader, std::move(decoder));</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;      <span class="keywordflow">if</span> (response.<a class="code" href="structprocess_1_1http_1_1Response.html#ae463c5c7a083aea98a89cf9b675b59ab">headers</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(<span class="stringliteral">&quot;Mesos-Stream-Id&quot;</span>)) {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <a class="code" href="classTry.html">Try&lt;id::UUID&gt;</a> uuid =</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;          <a class="code" href="structid_1_1UUID.html#a51931642cf2febf1689357b40b376798">id::UUID::fromString</a>(response.<a class="code" href="structprocess_1_1http_1_1Response.html#ae463c5c7a083a
 ea98a89cf9b675b59ab">headers</a>.at(<span class="stringliteral">&quot;Mesos-Stream-Id&quot;</span>));</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(uuid);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        streamId = uuid.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;      }</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1HttpConnectionPro
 cess.html#ae67639b50210d327bf1d08fd5624f651">read</a>();</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    }</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="keywordflow">if</span> (response.<a class="code" href="structprocess_1_1http_1_1Response.html#ad6530fddd03380dbb3b23b17523cb242">code</a> == <a class="code" href="structprocess_1_1http_1_1Status.html#a5d2b09dd7b99e2519b641b682dc976b0">process::http::Status::ACCEPTED</a>) {</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;      <span class="comment">// Only non 
 SUBSCRIBE calls should get a &quot;202 Accepted&quot; response.</span></div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;      CHECK_NE(Call::SUBSCRIBE, call.type());</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    }</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="comment">// We reset the state to connected if the subscribe call did not</span></div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="comment">// succceed. We can then retry the subscribe call.</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <sp
 an class="keywordflow">if</span> (call.type() == Call::SUBSCRIBE) {</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;      state = State::CONNECTED;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    }</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="keywordflow">if</span> (response.<a class="code" href="structprocess_1_1http_1_1Response.html#ad6530fddd03380dbb3b23b17523cb242">code</a> == <a class="code" href="structprocess_1_1http_1_1Status.html#ac38d2d21e08b9d2af0511c216613db0f">process::http::Status::SERVICE_UNAVAILABLE</a> ||</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        response.<a class="code" href="structprocess_1_1http_1_1Response.html#ad6530fddd03380dbb3b23b17523cb242">code</a> == <a class="code" href="structprocess_1_1http_1_1S
 tatus.html#ab9caadbc291e8d0e7d633faada0119a0">process::http::Status::NOT_FOUND</a>) {</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;          <span class="stringliteral">&quot;Received &#39;&quot;</span> + response.<a class="code" href="structprocess_1_1http_1_1Response.html#a8fcbd2073ace160af24a9ee531cb4378">status</a> + <span class="stringliteral">&quot;&#39; (&quot;</span> + response.<a class="code" href="structprocess_1_1http_1_1Response.html#a5f6d23dd77e1eeb0737dc728e0109905">body</a> + <span class="stringliteral">&quot;)&quot;</span>);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    }</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00
 413"></a><span class="lineno">  413</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        <span class="stringliteral">&quot;Received unexpected &#39;&quot;</span> + response.<a class="code" href="structprocess_1_1http_1_1Response.html#a8fcbd2073ace160af24a9ee531cb4378">status</a> +</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        <span class="stringliteral">&quot;&#39; (&quot;</span> + response.<a class="code" href="structprocess_1_1http_1_1Response.html#a5f6d23dd77e1eeb0737dc728e0109905">body</a> + <span class="stringliteral">&quot;)&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lin
 eno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#ae67639b50210d327bf1d08fd5624f651">  418</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#ae67639b50210d327bf1d08fd5624f651">read</a>()</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;  {</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    subscribed-&gt;decoder-&gt;read()</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;      .onAny(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(),</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;                   &amp;<a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a38245a736e95aa2ce036969a50df0473">Self::_read</a>,</div><div class="line"><a name="l00
 423"></a><span class="lineno">  423</span>&#160;                   subscribed-&gt;reader,</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                   lambda::_1));</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  }</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a38245a736e95aa2ce036969a50df0473">  427</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a38245a736e95aa2ce036969a50df0473">_read</a>(</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Reader.html">process::http::Pipe::Reader</a>&amp; reader,</div><div class="line"><a 
 name="l00429"></a><span class="lineno">  429</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classResult.html">Result&lt;Event&gt;</a>&gt;&amp; event)</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  {</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    CHECK(!event.isDiscarded());</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="comment">// Ignore enqueued events from the previous Subscribe call reader.</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">if</span> (!subscribed.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() || subscribed-&gt;reader != reader) {</div><div clas
 s="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;      VLOG(1) &lt;&lt; <span class="stringliteral">&quot;Ignoring event from old stale connection&quot;</span>;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    }</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    CHECK_EQ(State::SUBSCRIBED, state);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <a class="code" href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(connectionId);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span 
 class="keywordflow">if</span> (event.isFailed()) {</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;      LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to decode stream of events: &quot;</span></div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                 &lt;&lt; <span class="keyword">event</span>.failure();</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>(connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <span class="keyword">event</span>.failure());</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><
 a name="l00448"></a><span class="lineno">  448</span>&#160;    }</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keywordflow">if</span> (event-&gt;isNone()) {</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;      <span class="keyword">const</span> std::string <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1cni_1_1spec.html#ae58e703656ab4a1bd5d9870441236727">error</a> = <span class="stringliteral">&quot;End-Of-File received&quot;</span>;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;      LOG(ERROR) &lt;&lt; <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1cni_1_1spec.html#ae58e703656ab4a1bd5d9870441236727">error</a>;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div><div class="line"><a name="l00454"></a><span class
 ="lineno">  454</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>(connectionId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1cni_1_1spec.html#ae58e703656ab4a1bd5d9870441236727">error</a>);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    }</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="keywordflow">if</span> (event-&gt;isError()) {</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;      LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to de-seriali
 ze event: &quot;</span> &lt;&lt; <span class="keyword">event</span>-&gt;error();</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a81fc91fa235309d5486bf019260e6480">receive</a>(event-&gt;get());</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    }</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#ae67639b50210d327bf1d08fd5624f651">read</a>();</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  }</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
 <div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a81fc91fa235309d5486bf019260e6480">  467</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a81fc91fa235309d5486bf019260e6480">receive</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">Event</a>&amp; event)</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  {</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="comment">// Check if we&#39;re are no longer subscribed but received an event.</span></div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keywordflow">if</span> (state != State::SUBSCRIBED) {</div><div class="line"><a name="l00471"></
 a><span class="lineno">  471</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Ignoring &quot;</span> &lt;&lt; <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(event.type())</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;                   &lt;&lt; <span class="stringliteral">&quot; event because we&#39;re no longer subscribed&quot;</span>;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    }</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="comment">// Queue up the event and invoke the &#39;received&#39; callback if this</span></div><div class="line"><a name="l00477"></a><span class="lineno
 ">  477</span>&#160;    <span class="comment">// is the first event (between now and when the &#39;received&#39;</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="comment">// callback actually gets invoked more events might get queued).</span></div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    events.push(event);</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <span class="keywordflow">if</span> (events.size() == 1) {</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;      mutex.<a class="code" href="classprocess_1_1Mutex.html#a2983b29453c623f58b843d924598793b">lock</a>()</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        .<a class="code" href="classprocess_1_1Future.html#a269dcc23e03e8868067c24fe70
 b65a41">then</a>(<a class="code" href="namespaceprocess.html#a8b27a2ef76eb133bf0ce7a5eea4fb77c">defer</a>(<span class="keyword">self</span>(), [<span class="keyword">this</span>]() {</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;          <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> future =</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;            <a class="code" href="namespaceprocess.html#a92b69ab22f734498cfe8cf6edd92fd2a">process::async</a>(callbacks.received, events);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;          events = std::queue&lt;Event&gt;();</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;          <span class="keywordflow">return</span> future;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        }))</div><div class="line"><a name="l00489"
 ></a><span class="lineno">  489</span>&#160;        .onAny(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(&amp;<a class="code" href="classprocess_1_1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b">process::Mutex::unlock</a>, mutex));</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    }</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  }</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  <span class="keyword">struct </span>Callbacks</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  {</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    std::function&lt;Op
 tion&lt;Error&gt;(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">Call</a>&amp;)&gt; <a class="code" href="namespaceappc_1_1spec.html#a1f003511d7ad7c4792223d0b11b60f62">validate</a>;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    std::function&lt;void(void)&gt; <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a6205fa14f66139a8c54ad3c3619fba1b">connected</a>;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    std::function&lt;void(void)&gt; <a class="code" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a9f23195038588deaae134bba01b6f79a">disconnected</a>;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    std::function&lt;void(const std::queue&lt;Event&gt;&amp;)&gt; received;</div><div class="line"><a name="l00500"></a><span class="lin
 eno">  500</span>&#160;  };</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  <span class="keyword">struct </span>Connections</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;  {</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    <a class="code" href="classprocess_1_1http_1_1Connection.html">process::http::Connection</a> subscribe;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <a class="code" href="classprocess_1_1http_1_1Connection.html">process::http::Connection</a> nonSubscribe;</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;  };</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  <span class="keyword">s
 truct </span>SubscribedResponse</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  {</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    SubscribedResponse(</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Reader.html">process::http::Pipe::Reader</a> _reader,</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <a class="code" href="classprocess_1_1Owned.html">process::Owned</a>&lt;<a class="code" href="classmesos_1_1internal_1_1recordio_1_1Reader.html">recordio::Reader&lt;Event&gt;</a>&gt; _decoder)</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;      : reader(std::move(_reader)),</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        decoder(std::move(_decoder)) {}</div><div class="line"><a name="l00515"></a><s
 pan class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="comment">// The decoder cannot be copied meaningfully, see MESOS-5122.</span></div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    SubscribedResponse(<span class="keyword">const</span> SubscribedResponse&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    SubscribedResponse&amp; operator=(<span class="keyword">const</span> SubscribedResponse&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    SubscribedResponse&amp; operator=(SubscribedResponse&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    SubscribedResponse(SubscribedResponse&amp;&amp;) = <span class="keywordflo
 w">default</span>;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Reader.html">process::http::Pipe::Reader</a> reader;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;recordio::Reader&lt;Event&gt;</a>&gt; decoder;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  };</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <span class="keyword">enum class</span> State</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  {</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    DISCONNECTED, <span c
 lass="comment">// Either of subscribe/non-subscribe connection is broken.</span></div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    CONNECTING, <span class="comment">// Trying to establish subscribe and non-subscribe connections.</span></div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    CONNECTED, <span class="comment">// Established subscribe and non-subscribe connections.</span></div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    SUBSCRIBING, <span class="comment">// Trying to subscribe with the remote endpoint.</span></div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    SUBSCRIBED <span class="comment">// Subscribed with the remote endpoint.</span></div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  };</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;</div><div class="line"><
 a name="l00535"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#aee60dfc13f0d0163a600d788a524a725">  535</a>

<TRUNCATED>

[02/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/switchboard_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/switchboard_8hpp_source.html b/content/api/latest/c++/switchboard_8hpp_source.html
index 5c6352d..c5769c0 100644
--- a/content/api/latest/c++/switchboard_8hpp_source.html
+++ b/content/api/latest/c++/switchboard_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">switchboard.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="switchboard_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_CONTAINERIZER_IO_SWITCHBOARD_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_CONTAINERIZER_IO_SWITCHB
 OARD_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><
 span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2socket_8hpp.html">process/socket.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2containerizer_8hpp.html">mesos/slave/containerizer.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt
 ;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span clas
 s="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// The `IOSwitchboard` is a component in the agent whose job it is to</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// instantiate an `IOSwitchboardServer` that can be used to feed the</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// stdin to a container from an external source, as well as redirect</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// the stdin/stdout of a container to multip
 le targets.</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// The primary motivation of this component is to enable support in</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// mesos similar to `docker attach` and `docker exec` whereby an</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// external client can attach to the stdin/stdout/stderr of a running</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// container as well as launch arbitrary subcommands inside a</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// container and attach to its stdin/stdout/s
 tderr.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// The I/O switchboard is integrated with `MesosContainerizer` through</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// the `Isolator` interface.</span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">   53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="l
 ine"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;IOSwitchboard*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a99a26ff439ca948c0bf5f822d55f1628">create</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordtype">bool</span> local);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keywo
 rd">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a60f9214954b1664959cfd6a32b5bc959">~IOSwitchboard</a>();</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a">supportsNesting</a>();</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375">supportsStandalone</a>();</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <
 span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">recover</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classme
 sos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">prepare</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa383182ee41d05570c9e52278c073a6c">watch</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keyword">const</span> Container
 ID&amp; containerId);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa4c0bb4d89a195ceaaba6a8aae97eabb">cleanup</a>(</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="comment">// Connect to the `IOSwitchboard` associated with `containerId`.</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <a class="code" href="classprocess_1_1Future.html">proce
 ss::Future&lt;process::http::Connection&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#acd44076631fa55207e19b315a13cbdd3">connect</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// Transfer ownership of a `ContainerIO` struct for a given</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="comment">// container out of the `IOSwitchboard` and into the caller.</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerIO&gt;</a>&gt;
  <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a12117c45cfd218537f0c5f562542c4f1">extractContainerIO</a>(</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerID);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// Helper function that returns `true` if `IOSwitchboardServer`</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// needs to be enabled for the given `ContainerConfig`. It must</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// be enabled for `DEBUG` containers and ones that need `TTYInfo`.</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  
 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a57df4d6ba6123bf8af2f4fb15850f2ed">requiresServer</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  {</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    Info(<a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> _pid, <span class="keyword">const</span> 
 <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; _status)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      : pid(_pid),</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(_status) {}</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a75
 42c128af52b0fc7ffbf16767440c94">status</a>;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  };</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l00109
 "></a><span class="lineno">  109</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a> logger);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1slave_1_1ContainerIO.html">mesos::s
 lave::ContainerIO</a>&amp; loggerIO);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Connection&gt;</a> _connect(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerIO&gt;</a>&gt; _extractContainerIO(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerID);</div><div class="line">
 <a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#ifndef __WINDOWS__</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordtype">void</span> reaped(</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; future);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div cla
 ss="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">bool</span> local;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a> logger;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">// We use a separate hashmap to hold the `ContainerIO` for each</span></div><div class="line"><a name="l00134"></a><span class=
 "lineno">  134</span>&#160;  <span class="comment">// container because we need to maintain this information even in</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// the case were we only instantiate the logger and never spawn an</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="comment">// `IOSwitchbaordProcess`. Also, the lifetime of the `ContainerIO`</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="comment">// is shorter lived than the `Info` struct, as it should be removed</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// from this hash as soon as ownership is transferred out of the</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="comment">// `IOSwitchboard` via a call to `extractCo
 ntainerIO()`.</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, mesos::slave::ContainerIO&gt;</a> containerIOs;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;};</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#ifndef __WINDOWS__</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">// The `IOSwitchboardServer` encapsulates the server side logic for</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">// redirecting the `stdin/stdout/stderr` of a container to/from</span></div><div class="line"><a name=
 "l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">// multiple sources/targets. It runs an HTTP server over a unix domain</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">// socket in order to process incoming `ATTACH_CONTAINER_INPUT` and</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">// `ATTACH_CONTAINER_OUTPUT` calls and redirect a containers</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">// `stdin/stdout/stderr` through them. In &#39;local&#39; mode, it is run</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">// inside the agent itself. In &#39;non-local&#39; mode, it is run as an</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">// external proc
 ess to survive agent restarts.</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">class </span>IOSwitchboardServerProcess;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html">  156</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html">IOSwitchboardServer</a></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;{</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// The set of flags t
 o pass to the io switchboard server when</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// launched in an external binary.</span></div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html">  161</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html">Flags</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  {</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a9ba1cc27c2d698c02272691cd71011ca">  163</a></span>&#160;    <a class="code" href="stru
 ctmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a9ba1cc27c2d698c02272691cd71011ca">Flags</a>()</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    {</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      setUsageMessage(</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="stringliteral">&quot;Usage: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="namespacemesos_1_1internal_1_1logger_1_1rotate.html#aee5dc359a1b6d22c5d912b166c895854">NAME</a>) + <span class="stringliteral">&quot; [options]\n&quot;</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="stringliteral">&quot;The io switchboard server is designed to feed stdin to a container\n&quot;</span></div><div class="line"><a name="l00168"></a><span class="lineno">
   168</span>&#160;        <span class="stringliteral">&quot;from an external source, as well as redirect the stdin/stdout of a\n&quot;</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="stringliteral">&quot;container to multiple targets.\n&quot;</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <span class="stringliteral">&quot;It runs an HTTP server over a unix domain socket in order to process\n&quot;</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="stringliteral">&quot;incoming `ATTACH_CONTAINER_INPUT` and `ATTACH_CONTAINER_OUTPUT`\n&quot;</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="stringliteral">&quot;calls
  and redirect a containers `stdin/stdout/stderr` through them.\n&quot;</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="stringliteral">&quot;The primary motivation of this component is to enable support in\n&quot;</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <span class="stringliteral">&quot;mesos similar to `docker attach` and `docker exec` whereby an\n&quot;</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="stringliteral">&quot;external client can attach to the stdin/stdout/stderr of a running\n&quot;</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="stringliteral">&quot;container as well as launch arbitrary s
 ubcommands inside a container\n&quot;</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="stringliteral">&quot;and attach to its stdin/stdout/stderr.\n&quot;</span>);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::tty,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          <span class="stringliteral">&quot;tty&quot;</span>,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          <span class="stringliteral">&quot;If a pseudo terminal has been allocated for the container.&quot;</span>,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;           <span class="keyword">false</span>);</div><d
 iv class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdin_to_fd,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          <span class="stringliteral">&quot;stdin_to_fd&quot;</span>,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="stringliteral">&quot;The file descriptor where incoming stdin data should be written.&quot;</span>);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdout_from_fd,</div><div class="line"><a name="l00191"></a><span
  class="lineno">  191</span>&#160;          <span class="stringliteral">&quot;stdout_from_fd&quot;</span>,</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          <span class="stringliteral">&quot;The file descriptor that should be read to consume stdout data.&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdout_to_fd,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          <span class="stringliteral">&quot;stdout_to_fd&quot;</span>,</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          <span class="stringliteral">&quot;A file descriptor where data read from\n&quot;</span></div><div class="line"><a name="l00197"></a><span cl
 ass="lineno">  197</span>&#160;          <span class="stringliteral">&quot;&#39;stdout_from_fd&#39; should be redirected to.&quot;</span>);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stderr_from_fd,</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;          <span class="stringliteral">&quot;stderr_from_fd&quot;</span>,</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          <span class="stringliteral">&quot;The file descriptor that should be read to consume stderr data.&quot;</span>);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <a class="code" href="n
 amespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stderr_to_fd,</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;          <span class="stringliteral">&quot;stderr_to_fd&quot;</span>,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;          <span class="stringliteral">&quot;A file descriptor where data read from\n&quot;</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;          <span class="stringliteral">&quot;&#39;stderr_from_fd&#39; should be redirected to.&quot;</span>);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::wait_for_connection,</div><div class="line"><a name="l00209"></a><span class="lineno">
   209</span>&#160;          <span class="stringliteral">&quot;wait_for_connection&quot;</span>,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          <span class="stringliteral">&quot;A boolean indicating whether the server should wait for the\n&quot;</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          <span class="stringliteral">&quot;first connection before reading any data from the &#39;*_from_fd&#39;s.&quot;</span>,</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          <span class="keyword">false</span>);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::socket_path,</div><div class="line"><a name="l00215"></a><span class="lin
 eno">  215</span>&#160;          <span class="stringliteral">&quot;socket_address&quot;</span>,</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="stringliteral">&quot;The path of the unix domain socket this\n&quot;</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          <span class="stringliteral">&quot;io switchboard should attach itself to.&quot;</span>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::heartbeat_interval,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;          <span class="stringliteral">&quot;heartbeat_interval&quot;</span>,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</sp
 an>&#160;          <span class="stringliteral">&quot;A heartbeat interval (e.g. &#39;5secs&#39;, &#39;10mins&#39;) for messages to\n&quot;</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          <span class="stringliteral">&quot;be sent to any open &#39;ATTACH_CONTAINER_OUTPUT&#39; connections.&quot;</span>);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a7aeae38f9e0a65be598f1e0bb4c5a6f7">  225</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a7aeae38f9e0a65be598f1e0bb4c5a6f7">tty</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="li
 ne" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ab24d7876b7ce75aa3a3d74cbaf33db36">  226</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ab24d7876b7ce75aa3a3d74cbaf33db36">stdin_to_fd</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a8ed39aae84487878322e6d8788689324">  227</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a8ed39aae84487878322e6d8788689324">stdout_from_fd</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a0b96a9db77cecec1cf4b184500349c7e">  228</a></span>&#160;    <a cl
 ass="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a0b96a9db77cecec1cf4b184500349c7e">stdout_to_fd</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a1bf9244c976c6542fdf1a840bfa9d875">  229</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a1bf9244c976c6542fdf1a840bfa9d875">stderr_from_fd</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a2e6dec0912f5dba98ea388cd01097c95">  230</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.h
 tml#a2e6dec0912f5dba98ea388cd01097c95">stderr_to_fd</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a88f0b27d5cd8be525d9e1c6832876d68">  231</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a88f0b27d5cd8be525d9e1c6832876d68">socket_path</a>;</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ac9c75249757d61c631871cac0da8c8ac">  232</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ac9c75249757d61c631871cac0da8c8ac">wait_for_connection</a>;</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structmesos_1
 _1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a5785a4d321a8d16b8ac8387bacbeb9b9">  233</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;Duration&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a5785a4d321a8d16b8ac8387bacbeb9b9">heartbeat_interval</a>;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  };</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html#ac74af0b8d192b61a99f24fe6a6266ccc">  236</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespacemesos_1_1internal_1_1logger_1_1rotate.html#aee5dc359a1b6d22c5d912b166c895854">NAME</a>[];</div><div class="line"><a name="l00237"></a><span cla
 ss="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process::Owned&lt;IOSwitchboardServer&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a99a26ff439ca948c0bf5f822d55f1628">create</a>(</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;      <span class="keywordtype">bool</span> tty,</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;      <span class="keywordtype">int</span> stdinToFd,</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <span class="keywordtype">int</span> stdoutFromFd,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      <span class="keywordtype">int</span> stdoutToFd,</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#16
 0;      <span class="keywordtype">int</span> stderrFromFd,</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;      <span class="keywordtype">int</span> stderrToFd,</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;      <span class="keyword">const</span> std::string&amp; socketPath,</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <span class="keywordtype">bool</span> waitForConnection = <span class="keyword">false</span>,</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <a class="code" href="classOption.html">Option&lt;Duration&gt;</a> heartbeatInterval = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  ~<a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchb
 oardServer.html">IOSwitchboardServer</a>();</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="comment">// Run the io switchboard server.</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespaceprocess_1_1internal.html#a4c8e1d1a64b9ebccdd0c2bdf34233212">run</a>();</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <span class="comment">// Forcibly unblock the io switchboard server if it</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">// has been started with `waitForConnection` set to `true`.</span></div><div class="line"><
 a name="l00256"></a><span class="lineno">  256</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespaceos_1_1signals.html#af3a85f6669d18ed19b920de56006e372">unblock</a>();</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html">IOSwitchboardServer</a>(</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      <span class="keywordtype">bool</span> tty,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <span class="keywordtype">int</span> stdinToFd,</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;
       <span class="keywordtype">int</span> stdoutFromFd,</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      <span class="keywordtype">int</span> stdoutToFd,</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;      <span class="keywordtype">int</span> stderrFromFd,</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      <span class="keywordtype">int</span> stderrToFd,</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1network_1_1internal_1_1Socket.html">process::network::unix::Socket</a>&amp; <a class="code" href="namespacerouting.html#aee51d4e36a57bab7d6ada56e15467370">socket</a>,</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;      <span class="keywordtype">bool</span> waitForConnection,</div><div class="line"><a name="l00268"></a><span
  class="lineno">  268</span>&#160;      <a class="code" href="classOption.html">Option&lt;Duration&gt;</a> heartbeatInterval);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;IOSwitchboardServerProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;};</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00275"></a><span class="lineno">  
 275</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#endif // __MESOS_CONTAINERIZER_IO_SWITCHBOARD_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1IOSwitchboard_html_a50fc15a892743e6dc4e56585bcf6d08a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a">mesos::internal::slave::IOSwitchboard::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
+<a href="switchboard_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span
  class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distr
 ibuted under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_CONTAINERIZER_IO_SWITCHBOARD_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_CONTAINERIZER_IO_SWITCHB
 OARD_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><
 span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2socket_8hpp.html">process/socket.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2containerizer_8hpp.html">mesos/slave/containerizer.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt
 ;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span clas
 s="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// The `IOSwitchboard` is a component in the agent whose job it is to</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// instantiate an `IOSwitchboardServer` that can be used to feed the</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// stdin to a container from an external source, as well as redirect</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// the stdin/stdout of a container to multip
 le targets.</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// The primary motivation of this component is to enable support in</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// mesos similar to `docker attach` and `docker exec` whereby an</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// external client can attach to the stdin/stdout/stderr of a running</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// container as well as launch arbitrary subcommands inside a</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// container and attach to its stdin/stdout/s
 tderr.</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// The I/O switchboard is integrated with `MesosContainerizer` through</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// the `Isolator` interface.</span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">   53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="l
 ine"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;IOSwitchboard*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a99a26ff439ca948c0bf5f822d55f1628">create</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordtype">bool</span> local);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keywo
 rd">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a60f9214954b1664959cfd6a32b5bc959">~IOSwitchboard</a>();</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a50fc15a892743e6dc4e56585bcf6d08a">supportsNesting</a>();</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a1a3bc4ad72074b5d3e21b21442217375">supportsStandalone</a>();</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <
 span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">recover</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="class
 mesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">prepare</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa383182ee41d05570c9e52278c073a6c">watch</a>(</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keyword">const</span> Contain
 erID&amp; containerId);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#aa4c0bb4d89a195ceaaba6a8aae97eabb">cleanup</a>(</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="comment">// Connect to the `IOSwitchboard` associated with `containerId`.</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <a class="code" href="classprocess_1_1Future.html">pro
 cess::Future&lt;process::http::Connection&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#acd44076631fa55207e19b315a13cbdd3">connect</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// Transfer ownership of a `ContainerIO` struct for a given</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="comment">// container out of the `IOSwitchboard` and into the caller.</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerIO&gt;</a>&g
 t; <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a12117c45cfd218537f0c5f562542c4f1">extractContainerIO</a>(</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerID);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// Helper function that returns `true` if `IOSwitchboardServer`</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// needs to be enabled for the given `ContainerConfig`. It must</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// be enabled for `DEBUG` containers and ones that need `TTYInfo`.</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;
   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a57df4d6ba6123bf8af2f4fb15850f2ed">requiresServer</a>(</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  {</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    Info(<a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> _pid, <span class="keyword">const</span
 > <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; _status)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      : pid(_pid),</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(_status) {}</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a
 7542c128af52b0fc7ffbf16767440c94">status</a>;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  };</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l001
 09"></a><span class="lineno">  109</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a> logger);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1slave_1_1ContainerIO.html">mesos:
 :slave::ContainerIO</a>&amp; loggerIO);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Connection&gt;</a> _connect(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) <span class="keyword">const</span>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerIO&gt;</a>&gt; _extractContainerIO(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerID);</div><div class="line
 "><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#ifndef __WINDOWS__</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordtype">void</span> reaped(</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;&amp; future);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div c
 lass="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">bool</span> local;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a> logger;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">// We use a separate hashmap to hold the `ContainerIO` for each</span></div><div class="line"><a name="l00134"></a><span clas
 s="lineno">  134</span>&#160;  <span class="comment">// container because we need to maintain this information even in</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// the case were we only instantiate the logger and never spawn an</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="comment">// `IOSwitchbaordProcess`. Also, the lifetime of the `ContainerIO`</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="comment">// is shorter lived than the `Info` struct, as it should be removed</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// from this hash as soon as ownership is transferred out of the</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="comment">// `IOSwitchboard` via a call to `extract
 ContainerIO()`.</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, mesos::slave::ContainerIO&gt;</a> containerIOs;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;};</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#ifndef __WINDOWS__</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">// The `IOSwitchboardServer` encapsulates the server side logic for</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">// redirecting the `stdin/stdout/stderr` of a container to/from</span></div><div class="line"><a nam
 e="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">// multiple sources/targets. It runs an HTTP server over a unix domain</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">// socket in order to process incoming `ATTACH_CONTAINER_INPUT` and</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">// `ATTACH_CONTAINER_OUTPUT` calls and redirect a containers</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">// `stdin/stdout/stderr` through them. In &#39;local&#39; mode, it is run</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">// inside the agent itself. In &#39;non-local&#39; mode, it is run as an</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">// external pr
 ocess to survive agent restarts.</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">class </span>IOSwitchboardServerProcess;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html">  156</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboardServer.html">IOSwitchboardServer</a></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;{</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// The set of flags
  to pass to the io switchboard server when</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// launched in an external binary.</span></div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html">  161</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html">Flags</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  {</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a9ba1cc27c2d698c02272691cd71011ca">  163</a></span>&#160;    <a class="code" href="st
 ructmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a9ba1cc27c2d698c02272691cd71011ca">Flags</a>()</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    {</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      setUsageMessage(</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="stringliteral">&quot;Usage: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="namespacemesos_1_1internal_1_1logger_1_1rotate.html#aee5dc359a1b6d22c5d912b166c895854">NAME</a>) + <span class="stringliteral">&quot; [options]\n&quot;</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="stringliteral">&quot;The io switchboard server is designed to feed stdin to a container\n&quot;</span></div><div class="line"><a name="l00168"></a><span class="lineno
 ">  168</span>&#160;        <span class="stringliteral">&quot;from an external source, as well as redirect the stdin/stdout of a\n&quot;</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="stringliteral">&quot;container to multiple targets.\n&quot;</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <span class="stringliteral">&quot;It runs an HTTP server over a unix domain socket in order to process\n&quot;</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="stringliteral">&quot;incoming `ATTACH_CONTAINER_INPUT` and `ATTACH_CONTAINER_OUTPUT`\n&quot;</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="stringliteral">&quot;cal
 ls and redirect a containers `stdin/stdout/stderr` through them.\n&quot;</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="stringliteral">&quot;The primary motivation of this component is to enable support in\n&quot;</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <span class="stringliteral">&quot;mesos similar to `docker attach` and `docker exec` whereby an\n&quot;</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="stringliteral">&quot;external client can attach to the stdin/stdout/stderr of a running\n&quot;</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="stringliteral">&quot;container as well as launch arbitrary
  subcommands inside a container\n&quot;</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="stringliteral">&quot;and attach to its stdin/stdout/stderr.\n&quot;</span>);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::tty,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          <span class="stringliteral">&quot;tty&quot;</span>,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          <span class="stringliteral">&quot;If a pseudo terminal has been allocated for the container.&quot;</span>,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;           <span class="keyword">false</span>);</div>
 <div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdin_to_fd,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          <span class="stringliteral">&quot;stdin_to_fd&quot;</span>,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="stringliteral">&quot;The file descriptor where incoming stdin data should be written.&quot;</span>);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdout_from_fd,</div><div class="line"><a name="l00191"></a><sp
 an class="lineno">  191</span>&#160;          <span class="stringliteral">&quot;stdout_from_fd&quot;</span>,</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          <span class="stringliteral">&quot;The file descriptor that should be read to consume stdout data.&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stdout_to_fd,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          <span class="stringliteral">&quot;stdout_to_fd&quot;</span>,</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          <span class="stringliteral">&quot;A file descriptor where data read from\n&quot;</span></div><div class="line"><a name="l00197"></a><span 
 class="lineno">  197</span>&#160;          <span class="stringliteral">&quot;&#39;stdout_from_fd&#39; should be redirected to.&quot;</span>);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stderr_from_fd,</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;          <span class="stringliteral">&quot;stderr_from_fd&quot;</span>,</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          <span class="stringliteral">&quot;The file descriptor that should be read to consume stderr data.&quot;</span>);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <a class="code" href=
 "namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::stderr_to_fd,</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;          <span class="stringliteral">&quot;stderr_to_fd&quot;</span>,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;          <span class="stringliteral">&quot;A file descriptor where data read from\n&quot;</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;          <span class="stringliteral">&quot;&#39;stderr_from_fd&#39; should be redirected to.&quot;</span>);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::wait_for_connection,</div><div class="line"><a name="l00209"></a><span class="lineno
 ">  209</span>&#160;          <span class="stringliteral">&quot;wait_for_connection&quot;</span>,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          <span class="stringliteral">&quot;A boolean indicating whether the server should wait for the\n&quot;</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          <span class="stringliteral">&quot;first connection before reading any data from the &#39;*_from_fd&#39;s.&quot;</span>,</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          <span class="keyword">false</span>);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::socket_path,</div><div class="line"><a name="l00215"></a><span class="l
 ineno">  215</span>&#160;          <span class="stringliteral">&quot;socket_address&quot;</span>,</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="stringliteral">&quot;The path of the unix domain socket this\n&quot;</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          <span class="stringliteral">&quot;io switchboard should attach itself to.&quot;</span>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">add</a>(&amp;Flags::heartbeat_interval,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;          <span class="stringliteral">&quot;heartbeat_interval&quot;</span>,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</
 span>&#160;          <span class="stringliteral">&quot;A heartbeat interval (e.g. &#39;5secs&#39;, &#39;10mins&#39;) for messages to\n&quot;</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          <span class="stringliteral">&quot;be sent to any open &#39;ATTACH_CONTAINER_OUTPUT&#39; connections.&quot;</span>);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a7aeae38f9e0a65be598f1e0bb4c5a6f7">  225</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#a7aeae38f9e0a65be598f1e0bb4c5a6f7">tty</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="
 line" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ab24d7876b7ce75aa3a3d74cbaf33db36">  226</a></span>&#160;    <a class="code" href="classOption.html">Option&lt;int&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html#ab24d7876b7ce75aa3a3d74cbaf33db36">stdin_to_fd</a>;</div><div class=

<TRUNCATED>

[41/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess-members.html
index 1d78b70..a686e36 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess-members.html
@@ -86,7 +86,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html
index e57dae7..a5d5b42 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a59c7b1fb5f593419e5ce38b9d72b197b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; ResourceStatistics &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a59c7b1fb5f593419e5ce38b9d72b197b">usage</a> (const ContainerID &amp;containerId)</td></tr>
 <tr class="separator:a59c7b1fb5f593419e5ce38b9d72b197b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td></tr>
-<tr class="memitem:a7e3f98099d4bdd27753980b5aaea1b37 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a7e3f98099d4bdd27753980b5aaea1b37 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fe8fd306e5dc57dd5c6dab7e9a811b1 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a0fe8fd306e5dc57dd5c6dab7e9a811b1 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a58494a44c2f7f573a6edbe6aecd794ce inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a58494a44c2f7f573a6edbe6aecd794ce inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1a456c37615df1a0b54193cbe6052b04 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess-members.html
index f258271..94d4d3d 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">mesos::internal::slave::PosixDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">mesos::internal::slave::PosixDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html">mesos::internal::slave::PosixDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html
index 2b3375c..e666c74 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html
@@ -82,8 +82,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a4a3dd38df94ce3058e3e7e46eed3a2bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac31d75dea5f56a8757d04e63989edc03"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#ac31d75dea5f56a8757d04e63989edc03">supportsStandalone</a> ()</td></tr>
 <tr class="separator:ac31d75dea5f56a8757d04e63989edc03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa97ac1583b2abf4a2543dbbc9b19d1a1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:aa97ac1583b2abf4a2543dbbc9b19d1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a472e41ec3bd5da4976f763a71262de24"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a472e41ec3bd5da4976f763a71262de24"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a21f4fd07d612aaadee17aa9211130500"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a21f4fd07d612aaadee17aa9211130500">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a21f4fd07d612aaadee17aa9211130500"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9ffeb4eeca1ecf4f3d48eb48b058c4c9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a9ffeb4eeca1ecf4f3d48eb48b058c4c9">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -359,7 +359,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="aa97ac1583b2abf4a2543dbbc9b19d1a1"></a>
+<a class="anchor" id="a472e41ec3bd5da4976f763a71262de24"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -369,7 +369,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::PosixDiskIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -391,7 +391,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess-members.html
index 8bf66e4..c7502d4 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess-members.html
@@ -86,7 +86,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html
index 145ce1d..3e3de8e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html
@@ -86,8 +86,8 @@ Classes</h2></td></tr>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:add12ec059aa66055a96809e50d78f974"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974">~PosixFilesystemIsolatorProcess</a> ()</td></tr>
 <tr class="separator:add12ec059aa66055a96809e50d78f974"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8c9d395b93777db8969eec7e0e9f454"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:ad8c9d395b93777db8969eec7e0e9f454"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa545f4dcd149870e76a021fdceb296b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:afa545f4dcd149870e76a021fdceb296b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab14ce6d047f10978be388b598055fd40"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:ab14ce6d047f10978be388b598055fd40"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a64b7958bfeba747a49d5be8a19dec8ad"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad">update</a> (const ContainerID &amp;containerId, const <a class="el" href="classmesos_1_1Resources.html">Resources</a> &amp;resources)</td></tr>
@@ -367,7 +367,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ad8c9d395b93777db8969eec7e0e9f454"></a>
+<a class="anchor" id="afa545f4dcd149870e76a021fdceb296b"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -377,7 +377,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::PosixFilesystemIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -399,7 +399,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess-members.html
index a3239dc..6d5735e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess-members.html
@@ -84,7 +84,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html
index a0bdd1b..b34ac2b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html
@@ -77,8 +77,8 @@ Inheritance diagram for mesos::internal::slave::PosixIsolatorProcess:</div>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr class="memitem:a7e3f98099d4bdd27753980b5aaea1b37"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a7e3f98099d4bdd27753980b5aaea1b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fe8fd306e5dc57dd5c6dab7e9a811b1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a0fe8fd306e5dc57dd5c6dab7e9a811b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a58494a44c2f7f573a6edbe6aecd794ce"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a58494a44c2f7f573a6edbe6aecd794ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1a456c37615df1a0b54193cbe6052b04"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -312,7 +312,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a7e3f98099d4bdd27753980b5aaea1b37"></a>
+<a class="anchor" id="a0fe8fd306e5dc57dd5c6dab7e9a811b1"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -322,7 +322,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::PosixIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>state</em>, </td>
         </tr>
         <tr>
@@ -344,7 +344,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess-members.html
index 005250b..3b91201 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess-members.html
@@ -86,7 +86,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html
index c0ae5c0..c62efc2 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a89b494196c800a3f3f47b8d7846acd5d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; ResourceStatistics &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a89b494196c800a3f3f47b8d7846acd5d">usage</a> (const ContainerID &amp;containerId)</td></tr>
 <tr class="separator:a89b494196c800a3f3f47b8d7846acd5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">mesos::internal::slave::PosixIsolatorProcess</a></td></tr>
-<tr class="memitem:a7e3f98099d4bdd27753980b5aaea1b37 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a7e3f98099d4bdd27753980b5aaea1b37 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fe8fd306e5dc57dd5c6dab7e9a811b1 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a0fe8fd306e5dc57dd5c6dab7e9a811b1 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a58494a44c2f7f573a6edbe6aecd794ce inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a58494a44c2f7f573a6edbe6aecd794ce inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1a456c37615df1a0b54193cbe6052b04 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess-members.html
index b7f634d..0c3116a 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html#a0e119e29caca70fdd5b21126865a788a">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html">mesos::internal::slave::PosixRLimitsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html
index 94ae1a0..bf40743 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PosixRLimitsIsolatorProcess.html
@@ -84,8 +84,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess-members.html
index 12c6db2..d13390e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html#a9214c03413d5d30d6b96d8bb73b4f203">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html">mesos::internal::slave::SharedFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html
index d2da571..53e3ae0 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SharedFilesystemIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a8009c7782661b509933138479d3dbed5 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave-members.html
index ff22c94..c7ef39a 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave-members.html
@@ -57,7 +57,7 @@
 
 <p>This is the complete list of members for <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a>(const process::Future&lt; Nothing &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf">___statusUpdate</a>(const process::Future&lt; Nothing &gt; &amp;future, const StatusUpdate &amp;update, const Option&lt; process::UPID &gt; &amp;pid)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#adf6475e9de96ccbbe503980ae80c2978">__recover</a>(const process::Future&lt; Nothing &gt; &amp;future)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f">__run</a>(const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const Option&lt; TaskInfo &gt; &amp;task, const Option&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const Option&lt; bool &gt; &amp;launchExecutor)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html">mesos::internal::slave::Slave</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave.html
index 030a960..775af06 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Slave.html
@@ -115,8 +115,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a80383d69afdb3c654a60099b77ce2c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a514097b38996ebe6618cf514d1d3f19f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f">__run</a> (const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const <a class="el" href="classOption.html">Option</a>&lt; TaskInfo &gt; &amp;task, const <a class="el" href="classOption.html">Option</a>&lt; TaskGroupInfo &gt; &amp;taskGroup, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>)</td></tr>
 <tr class="separator:a514097b38996ebe6618cf514d1d3f19f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac044f6428269d27e69f1652c5b07f5bc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::list&lt; TaskInfo &gt; &amp;tasks, const std::list&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
-<tr class="separator:ac044f6428269d27e69f1652c5b07f5bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14a15d2b5e7d53570e69704aebba903b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a14a15d2b5e7d53570e69704aebba903b">___run</a> (const <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt; &amp;future, const FrameworkID &amp;frameworkId, const ExecutorID &amp;executorId, const ContainerID &amp;containerId, const std::vector&lt; TaskInfo &gt; &amp;tasks, const std::vector&lt; TaskGroupInfo &gt; &amp;taskGroups)</td></tr>
+<tr class="separator:a14a15d2b5e7d53570e69704aebba903b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a101f8dc5a130dc066b8be3e231eed9f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a101f8dc5a130dc066b8be3e231eed9f8">handleRunTaskGroupMessage</a> (const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, RunTaskGroupMessage &amp;&amp;runTaskGroupMessage)</td></tr>
 <tr class="separator:a101f8dc5a130dc066b8be3e231eed9f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a515bd07e751e76bda7f78d3953f5c64f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a515bd07e751e76bda7f78d3953f5c64f">runTaskGroup</a> (const <a class="el" href="structprocess_1_1UPID.html">process::UPID</a> &amp;from, const FrameworkInfo &amp;frameworkInfo, const ExecutorInfo &amp;executorInfo, const TaskGroupInfo &amp;taskGroupInfo, const std::vector&lt; ResourceVersionUUID &gt; &amp;resourceVersionUuids, const <a class="el" href="classOption.html">Option</a>&lt; bool &gt; &amp;<a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>)</td></tr>
@@ -518,7 +518,7 @@ Additional Inherited Members</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="ac044f6428269d27e69f1652c5b07f5bc"></a>
+<a class="anchor" id="a14a15d2b5e7d53570e69704aebba903b"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -552,13 +552,13 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::list&lt; TaskInfo &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; TaskInfo &gt; &amp;&#160;</td>
           <td class="paramname"><em>tasks</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::list&lt; TaskGroupInfo &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; TaskGroupInfo &gt; &amp;&#160;</td>
           <td class="paramname"><em>taskGroups</em>&#160;</td>
         </tr>
         <tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher-members.html
index 0db48a5..81d0ac0 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher-members.html
@@ -61,7 +61,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a78d11f1b1c5e22754797c76e9d42281a">destroy</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#aa82db677460d67c6ff2fd207d0683c82">fork</a>(const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const process::Subprocess::IO &amp;in, const process::Subprocess::IO &amp;out, const process::Subprocess::IO &amp;err, const flags::FlagsBase *flags, const Option&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const Option&lt; int &gt; &amp;enterNamespaces, const Option&lt; int &gt; &amp;cloneNamespaces)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5">pids</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1e1c9e6483fecc771fc6892bb602b580">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1">SubprocessLauncher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">mesos::internal::slave::SubprocessLauncher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html
index 9cd6138..bfb1d40 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html
@@ -76,8 +76,8 @@ Inheritance diagram for mesos::internal::slave::SubprocessLauncher:</div>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a1d03ee6b67829cfdedf4930208d30976"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976">~SubprocessLauncher</a> ()</td></tr>
 <tr class="separator:a1d03ee6b67829cfdedf4930208d30976"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a816fe950257e14454d13dff95f0f3e59"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)</td></tr>
-<tr class="separator:a816fe950257e14454d13dff95f0f3e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12c673740bdf8db16b19e77e6d5e2804"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)</td></tr>
+<tr class="separator:a12c673740bdf8db16b19e77e6d5e2804"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa82db677460d67c6ff2fd207d0683c82"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTry.html">Try</a>&lt; <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#aa82db677460d67c6ff2fd207d0683c82">fork</a> (const ContainerID &amp;containerId, const std::string &amp;path, const std::vector&lt; std::string &gt; &amp;argv, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;in, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;out, const <a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a> &amp;err, const <a class="el" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a> *<a class="el" href="decoder_8hpp.html#ab
 b0829cce9dd20a40ae0d86890ae85c6">flags</a>, const <a class="el" href="classOption.html">Option</a>&lt; std::map&lt; std::string, std::string &gt;&gt; &amp;environment, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;enterNamespaces, const <a class="el" href="classOption.html">Option</a>&lt; int &gt; &amp;cloneNamespaces)</td></tr>
 <tr class="separator:aa82db677460d67c6ff2fd207d0683c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a78d11f1b1c5e22754797c76e9d42281a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a78d11f1b1c5e22754797c76e9d42281a">destroy</a> (const ContainerID &amp;containerId)</td></tr>
@@ -285,7 +285,7 @@ Protected Attributes</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a816fe950257e14454d13dff95f0f3e59"></a>
+<a class="anchor" id="a12c673740bdf8db16b19e77e6d5e2804"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -295,7 +295,7 @@ Protected Attributes</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="classhashset.html">hashset</a>&lt;ContainerID&gt; &gt; mesos::internal::slave::SubprocessLauncher::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em></td><td>)</td>
           <td></td>
         </tr>
@@ -307,7 +307,7 @@ Protected Attributes</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Implements <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher</a>.</p>
+<p>Implements <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess-members.html
index d2dbf28..62f88e6 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html#a726ff6d0e4a31e617b916641e5dc320c">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html">mesos::internal::slave::VolumeHostPathIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>


[42/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess-members.html
index d652594..da69a84 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html#af55cced1706b987e9a188d946bd69894">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html">mesos::internal::slave::NamespacesIPCIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html
index 6b2c3a6..c6386f9 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess-members.html
index 4aab25e..6e1fb85 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html#a81751627c0d1318dc4aff01fa3a7375c">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html">mesos::internal::slave::NamespacesPidIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html
index 5a06e76..69349cb 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NamespacesPidIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess-members.html
index c4c0f5f..3f92e38 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">mesos::internal::slave::NetworkCniIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">mesos::internal::slave::NetworkCniIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html">mesos::internal::slave::NetworkCniIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html
index e66a2e3..0317813 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a5cb876e852d66514a64562bf46cc92c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae38922e85a5082b87910c53ed3614e09"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#ae38922e85a5082b87910c53ed3614e09">supportsNesting</a> ()</td></tr>
 <tr class="separator:ae38922e85a5082b87910c53ed3614e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87f3c1ed9cf30ab3916404b66bc121dd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a87f3c1ed9cf30ab3916404b66bc121dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af94c99e1b44722fd577aa9be6e97eb8e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:af94c99e1b44722fd577aa9be6e97eb8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5c646c0b22fc11d8abf3feddab473ee0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a5c646c0b22fc11d8abf3feddab473ee0">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a5c646c0b22fc11d8abf3feddab473ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4d2771d57033cea741ec6dd2bc6f738d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a4d2771d57033cea741ec6dd2bc6f738d">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -359,7 +359,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a87f3c1ed9cf30ab3916404b66bc121dd"></a>
+<a class="anchor" id="af94c99e1b44722fd577aa9be6e97eb8e"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -369,7 +369,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::NetworkCniIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -391,7 +391,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess-members.html
index fbb3695..27ec92b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess-members.html
@@ -87,29 +87,30 @@
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#aa94976e4d3569e51ffdda49d942432d7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">self</a>() const</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#afd140bd13241c4b8632670e59674298a">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a77a6d78e8983ada38696c09fb5457529">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#af6925295222b759403800b74790d7942">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a6df59b34de3421085d7dacf737e57f27">~NetworkPortsIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess::recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">self</a>() const</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#afd140bd13241c4b8632670e59674298a">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a77a6d78e8983ada38696c09fb5457529">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#af6925295222b759403800b74790d7942">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#a6df59b34de3421085d7dacf737e57f27">~NetworkPortsIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html">mesos::internal::slave::NetworkPortsIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html
index 1271af9..b5ec8dc 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html
@@ -98,6 +98,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a27a7514b9257a7c6b345c9f97173906d inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; ResourceStatistics &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a> (const ContainerID &amp;containerId)</td></tr>
@@ -455,8 +457,6 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="afd140bd13241c4b8632670e59674298a"></a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess-members.html
index 19cb840..a6f283b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">mesos::internal::slave::NvidiaGpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">mesos::internal::slave::NvidiaGpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html">mesos::internal::slave::NvidiaGpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html
index e1c8222..f40f772 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:ab70ccb2d7dc7dd3377ad40f050595c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa0282cfa20e55f56feb46f7ee16b0915"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#aa0282cfa20e55f56feb46f7ee16b0915">supportsStandalone</a> ()</td></tr>
 <tr class="separator:aa0282cfa20e55f56feb46f7ee16b0915"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a836b9f7f519de28a2b2cb49634593117"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a836b9f7f519de28a2b2cb49634593117"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa20a594857d796fefff13181d5377"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:ac3aa20a594857d796fefff13181d5377"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9529787f587a13e528b6fdfdd87fd6fc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a9529787f587a13e528b6fdfdd87fd6fc">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a9529787f587a13e528b6fdfdd87fd6fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0d99ad554385f6e1df62d211f4df20fd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a0d99ad554385f6e1df62d211f4df20fd">update</a> (const ContainerID &amp;containerId, const <a class="el" href="classmesos_1_1Resources.html">Resources</a> &amp;resources)</td></tr>
@@ -307,7 +307,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a836b9f7f519de28a2b2cb49634593117"></a>
+<a class="anchor" id="ac3aa20a594857d796fefff13181d5377"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -317,7 +317,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::NvidiaGpuIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -339,7 +339,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess-members.html
index 7353414..5cef235 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess-members.html
@@ -84,29 +84,30 @@
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a47eb4c076201fa2aafa5b5698b15e3fa">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">self</a>() const</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#aeccb544d1888bc1a024ca163bf73fdbe">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#afa7ef8de09a38065bdb61070c12839e4">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#aed1b1fb4f614a01d1639efa8f6053b2e">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a9ab1ad63e3db47a0fba934c353b5dd81">~PortMappingIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess::recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">self</a>() const</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#aeccb544d1888bc1a024ca163bf73fdbe">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#afa7ef8de09a38065bdb61070c12839e4">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#aed1b1fb4f614a01d1639efa8f6053b2e">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a9ab1ad63e3db47a0fba934c353b5dd81">~PortMappingIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html">mesos::internal::slave::PortMappingIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html
index d277553..153c491 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html
@@ -99,6 +99,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a8009c7782661b509933138479d3dbed5 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7542c128af52b0fc7ffbf16767440c94 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; ContainerStatus &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a> (const ContainerID &amp;containerId)</td></tr>
 <tr class="separator:a7542c128af52b0fc7ffbf16767440c94 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classprocess_1_1Process"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classprocess_1_1Process')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td></tr>
@@ -391,8 +393,6 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="aeccb544d1888bc1a024ca163bf73fdbe"></a>


[18/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/posix_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/posix_8hpp_source.html b/content/api/latest/c++/posix_8hpp_source.html
index 9feb742..52135e6 100644
--- a/content/api/latest/c++/posix_8hpp_source.html
+++ b/content/api/latest/c++/posix_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">posix.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="posix_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class
 ="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed
  under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_ISOLATOR_HPP__</span></div><div class="line"><a na
 me="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="os_8hpp.html">stout/os.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</di
 v><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="pstree_8hpp.html">stout/os/pstree.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<
 span class="preprocessor">#include &quot;<a class="code" href="usage_8hpp.html">usage/usage.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// A basic MesosIsolatorProcess that keeps track of the pid but</span></div><div class="line"><a name="l00039"></a><span 
 class="lineno">   39</span>&#160;<span class="comment">// doesn&#39;t do any resource isolation. Subclasses must implement</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// usage() for their appropriate resource(s).</span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">   41</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00044"></
 a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">   44</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">recover</a>(</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class=
 "keywordflow">foreach</span> (<span class="keyword">const</span> mesos::slave::ContainerState&amp; <a class="code" href="namespaceprocess_1_1internal.html#a4c8e1d1a64b9ebccdd0c2bdf34233212">run</a>, state) {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="comment">// This should (almost) never occur: see comment in</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="comment">// SubprocessLauncher::recover().</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(run.container_id())) {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class=
 "keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Container already recovered&quot;</span>);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(run.container_id(), <span class="keyword">static_cast&lt;</span><a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a><span class="keyword">&gt;</span>(run.pid()));</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="
 l00057"></a><span class="lineno">   57</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>(<span class="keyword">new</span> <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>());</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(run.container_id(), <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>);
 </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">   65</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f5
 73a6edbe6aecd794ce">prepare</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">proces
 s::Failure</a>(<span class="stringliteral">&quot;Container &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId) +</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                              <span class="stringliteral">&quot; has already been prepared&quot;</span>);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    }</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt; <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>(</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">ne
 w</span> <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>());</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(containerId, promise);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1
 slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">   81</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">isolate</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorP
 rocess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    }</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f771
 24">put</a>(containerId, pid);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  }</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321">   94</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321">watch</a>(</div><div class="line"><a name="l00095"></
 a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  {</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00099"></a><span class="lineno
 ">   99</span>&#160;    }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>[containerId]-&gt;future();</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f783154e94c19084c2f">  104</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f783
 154e94c19084c2f">update</a>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structproc
 ess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">// No resources are actually isolated so nothing to do.</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" hr
 ef="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442">  116</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442">cleanup</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  {</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      VLOG(1) &lt;&lt; <s
 pan class="stringliteral">&quot;Ignoring cleanup request for unknown container &quot;</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;              &lt;&lt; containerId;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">// TODO(idownes): We should discard the container&#39;s promise here to signal</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="comment">// to anyone that holds the future fro
 m watch().</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.erase(containerId);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.erase(containerId);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  }</div><div class="line"><a name="l00133"></a><span class="lineno">  1
 33</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">  135</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classhashmap.html">hashmap</a>&lt;ContainerID,</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;          <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt;&gt;</div><div class="line"><a name="l00138"></a><span class="li
 neno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">  138</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;};</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">  142</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">PosixCpuIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolatorPr
 ocess</a></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#aeac4fc0b3046188995e2ce2b17706b70">  145</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#aeac4fc0b3046188995e2ce2b17706b70">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>)</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  {</div><div class="line"><a name="l00147"></a><span class="lineno">  1
 47</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>(</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">PosixCpuIsolatorProcess</a>());</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">MesosIsolator</a>(process);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name=
 "l00153"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a59c7b1fb5f593419e5ce38b9d72b197b">  153</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a59c7b1fb5f593419e5ce38b9d72b197b">usage</a>(</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4
 545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;No resource usage for unknown container &#39;&quot;</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                   &lt;&lt; containerId &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// Use &#39;mesos-usage&#39; but only request &#39;cpus_&#39; values.</span></div><div class="line"><a name="l00163"></a><span cl
 ass="lineno">  163</span>&#160;    <a class="code" href="classTry.html">Try&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a> =</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">mesos::internal::usage</a>(<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192c9a">get</a>(containerId).<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <span class="keyword">false</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">if</span> (usage.<a class="code" href="classTry.html#a0b98f9516
 3b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(usage.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    }</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordflow">return</span> usage.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  }</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00172"></a><span class="lineno
 "><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a2fb1c6256b2429c25d43673351bb0645">  172</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a2fb1c6256b2429c25d43673351bb0645">PosixCpuIsolatorProcess</a>()</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;posix-cpu-isolator&quot;</span>)) {}</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classmesos_1_1in
 ternal_1_1slave_1_1PosixMemIsolatorProcess.html">  176</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html">PosixMemIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolatorProcess</a></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;{</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a4f0cc8bf34c207c15d6e72226814d5f5">  179</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a4f0cc8bf34c207c
 15d6e72226814d5f5">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>)</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>(</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html">PosixMemIsolatorProcess</a>());</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordfl
 ow">return</span> <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">MesosIsolator</a>(process);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  }</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a89b494196c800a3f3f47b8d7846acd5d">  187</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a89b494196c800a3f3f47b8d7846acd5d">usage</a>(</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00189">
 </a><span class="lineno">  189</span>&#160;  {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;No resource usage for unknown container &#39;&quot;</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                   &lt;&lt; containerId &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00194"></a><span cla
 ss="lineno">  194</span>&#160;    }</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="comment">// Use &#39;mesos-usage&#39; but only request &#39;mem_&#39; values.</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="classTry.html">Try&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a> =</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">mesos::internal::usage</a>(<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192c9
 a">get</a>(containerId).<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <span class="keyword">true</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (usage.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(usage.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    }</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> usage.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();<
 /div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  }</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#ab8f8ec2dfe6a51fd5173086d653df78a">  206</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#ab8f8ec2dfe6a51fd5173086d653df78a">PosixMemIsolatorProcess</a>()</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">
 generate</a>(<span class="stringliteral">&quot;posix-mem-isolator&quot;</span>)) {}</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;};</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#endif // __POSIX_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class="
 ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
+<a href="posix_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class
 ="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed
  under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __POSIX_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __POSIX_ISOLATOR_HPP__</span></div><div class="line"><a na
 me="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="os_8hpp.html">stout/os.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</di
 v><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="pstree_8hpp.html">stout/os/pstree.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<
 span class="preprocessor">#include &quot;<a class="code" href="usage_8hpp.html">usage/usage.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// A basic MesosIsolatorProcess that keeps track of the pid but</span></div><div class="line"><a name="l00039"></a><span 
 class="lineno">   39</span>&#160;<span class="comment">// doesn&#39;t do any resource isolation. Subclasses must implement</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// usage() for their appropriate resource(s).</span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">   41</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00044"></
 a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">   44</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">recover</a>(</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; state,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span clas
 s="keywordflow">foreach</span> (<span class="keyword">const</span> mesos::slave::ContainerState&amp; <a class="code" href="namespaceprocess_1_1internal.html#a4c8e1d1a64b9ebccdd0c2bdf34233212">run</a>, state) {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="comment">// This should (almost) never occur: see comment in</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="comment">// SubprocessLauncher::recover().</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(run.container_id())) {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span clas
 s="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Container already recovered&quot;</span>);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(run.container_id(), <span class="keyword">static_cast&lt;</span><a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a><span class="keyword">&gt;</span>(run.pid()));</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name
 ="l00057"></a><span class="lineno">   57</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>(<span class="keyword">new</span> <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>());</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(run.container_id(), <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>
 );</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">   65</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7
 f573a6edbe6aecd794ce">prepare</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">proc
 ess::Failure</a>(<span class="stringliteral">&quot;Container &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId) +</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                              <span class="stringliteral">&quot; has already been prepared&quot;</span>);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    }</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt; <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>(</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">
 new</span> <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>());</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(containerId, promise);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1
 _1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">   81</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a1a456c37615df1a0b54193cbe6052b04">isolate</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolato
 rProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    }</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f7
 7124">put</a>(containerId, pid);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  }</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321">   94</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a2b794d8be5caf613633c1f2ac8a8e321">watch</a>(</div><div class="line"><a name="l00095">
 </a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  {</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00099"></a><span class="line
 no">   99</span>&#160;    }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>[containerId]-&gt;future();</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f783154e94c19084c2f">  104</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a927fd71d09e66f7
 83154e94c19084c2f">update</a>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structpr
 ocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Unknown container: &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(containerId));</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">// No resources are actually isolated so nothing to do.</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" 
 href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442">  116</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442">cleanup</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  {</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      VLOG(1) &lt;&lt; 
 <span class="stringliteral">&quot;Ignoring cleanup request for unknown container &quot;</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;              &lt;&lt; containerId;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">// TODO(idownes): We should discard the container&#39;s promise here to signal</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="comment">// to anyone that holds the future f
 rom watch().</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>.erase(containerId);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.erase(containerId);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 
  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">  135</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classhashmap.html">hashmap</a>&lt;ContainerID,</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;          <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a>&gt;&gt;</div><div class="line"><a name="l00138"></a><span class="
 lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">  138</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a145bab553df35695cb414a67abdf13db">promises</a>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;};</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">  142</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">PosixCpuIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolator
 Process</a></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#aeac4fc0b3046188995e2ce2b17706b70">  145</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#aeac4fc0b3046188995e2ce2b17706b70">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>)</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 
  147</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>(</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html">PosixCpuIsolatorProcess</a>());</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">MesosIsolator</a>(process);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a nam
 e="l00153"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a59c7b1fb5f593419e5ce38b9d72b197b">  153</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a59c7b1fb5f593419e5ce38b9d72b197b">usage</a>(</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5
 d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;No resource usage for unknown container &#39;&quot;</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                   &lt;&lt; containerId &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// Use &#39;mesos-usage&#39; but only request &#39;cpus_&#39; values.</span></div><div class="line"><a name="l00163"></a><span 
 class="lineno">  163</span>&#160;    <a class="code" href="classTry.html">Try&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a> =</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">mesos::internal::usage</a>(<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192c9a">get</a>(containerId).<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <span class="keyword">false</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">if</span> (usage.<a class="code" href="classTry.html#a0b98f95
 163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(usage.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    }</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordflow">return</span> usage.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  }</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00172"></a><span class="line
 no"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a2fb1c6256b2429c25d43673351bb0645">  172</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixCpuIsolatorProcess.html#a2fb1c6256b2429c25d43673351bb0645">PosixCpuIsolatorProcess</a>()</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;posix-cpu-isolator&quot;</span>)) {}</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classmesos_1_1
 internal_1_1slave_1_1PosixMemIsolatorProcess.html">  176</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html">PosixMemIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html">PosixIsolatorProcess</a></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;{</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a4f0cc8bf34c207c15d6e72226814d5f5">  179</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a4f0cc8bf34c20
 7c15d6e72226814d5f5">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>)</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>(</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html">PosixMemIsolatorProcess</a>());</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keyword
 flow">return</span> <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">MesosIsolator</a>(process);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  }</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a89b494196c800a3f3f47b8d7846acd5d">  187</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#a89b494196c800a3f3f47b8d7846acd5d">usage</a>(</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00189
 "></a><span class="lineno">  189</span>&#160;  {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(containerId)) {</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;No resource usage for unknown container &#39;&quot;</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                   &lt;&lt; containerId &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00194"></a><span c
 lass="lineno">  194</span>&#160;    }</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="comment">// Use &#39;mesos-usage&#39; but only request &#39;mem_&#39; values.</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="classTry.html">Try&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a> =</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <a class="code" href="namespacemesos_1_1internal.html#a91a5bc5e418e8712bb512721b5abc46d">mesos::internal::usage</a>(<a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7bc12246d1bf01a5d5aadc612840aa52">pids</a>.<a class="code" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192
 c9a">get</a>(containerId).<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), <span class="keyword">true</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (usage.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(usage.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    }</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> usage.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()
 ;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  }</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#ab8f8ec2dfe6a51fd5173086d653df78a">  206</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess.html#ab8f8ec2dfe6a51fd5173086d653df78a">PosixMemIsolatorProcess</a>()</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39
 ">generate</a>(<span class="stringliteral">&quot;posix-mem-isolator&quot;</span>)) {}</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;};</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#endif // __POSIX_ISOLATOR_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class
 ="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where the same prefix (wrt...</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a27a7514b9257a7c6b345c9f97173906d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">mesos::internal::slave::MesosIsolatorProcess::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:129</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess_html_a58494a44c2f7f573a6edbe6aecd794ce"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a58494a44c2f7f573a6edbe6aecd794ce">mesos::internal::slave::PosixIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div><div class="ttdef"><b>Definition:</b> posix.hpp:65</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:38</div></div>
@@ -85,6 +85,7 @@
 <div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_a3b1f8bd7b18c51af9d1f58842950b545"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">mesos::internal::log::protocol::promise</a></div><div class="ttdeci">Protocol&lt; PromiseRequest, PromiseResponse &gt; promise</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="classTry_html_aec4a11ddd3c036e889d90b7eb6258ba7"><div class="ttname"><a href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">Try::error</a></div><div class="ttdeci">static Try error(const E &amp;e)</div><div class="ttdef"><b>Definition:</b> try.hpp:42</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess_html_a0fe8fd306e5dc57dd5c6dab7e9a811b1"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">mesos::internal::slave::PosixIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> posix.hpp:44</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="namespaceprocess_1_1internal_html_a4c8e1d1a64b9ebccdd0c2bdf34233212"><div class="ttname"><a href="namespaceprocess_1_1internal.html#a4c8e1d1a64b9ebccdd0c2bdf34233212">process::internal::run</a></div><div class="ttdeci">void run(std::vector&lt; C &gt; &amp;&amp;callbacks, Arguments &amp;&amp;...arguments)</div><div class="ttdef"><b>Definition:</b> future.hpp:621</div></div>
 <div class="ttc" id="classhashmap_html_af69989fa69c86b7bf1843c9ae0f77124"><div class="ttname"><a href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">hashmap::put</a></div><div class="ttdeci">void put(const Key &amp;key, Value &amp;&amp;value)</div><div class="ttdef"><b>Definition:</b> hashmap.hpp:104</div></div>
@@ -100,7 +101,6 @@
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess_html_af36fa743b641e5eb7bc6f7360a417442"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#af36fa743b641e5eb7bc6f7360a417442">mesos::internal::slave::PosixIsolatorProcess::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> posix.hpp:116</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1PosixMemIsolatorProcess_html_a89b494196c800a3f3f47b8d7846acd5d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Posix

<TRUNCATED>

[21/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/mock__docker_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/mock__docker_8hpp_source.html b/content/api/latest/c++/mock__docker_8hpp_source.html
index 629ceff..cab89b7 100644
--- a/content/api/latest/c++/mock__docker_8hpp_source.html
+++ b/content/api/latest/c++/mock__docker_8hpp_source.html
@@ -52,60 +52,60 @@
 <div class="title">mock_docker.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mock__docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa
 n class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dist
 ributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TESTS_MOCKDOCKER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TESTS_MOCKDOCKER_HPP__</span></div><div class="
 line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class
 ="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="linen
 o">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="json_8hpp.html">stout/json.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2docker_8hpp.html">slave/containerizer/docker.hpp</a>&quot;</span></div><div class="line"><a name="l
 00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="components_8hpp.html">slave/containerizer/mesos/isolators/gpu/components.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;using ::testing::_;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;using ::testing::Invoke;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">using</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NvidiaComponents.html">mesos::internal::slave::NvidiaComponents</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#16
 0;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// Definition of a mock Docker to be used in tests with gmock.</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">   52</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1t
 ests_1_1MockDocker.html">MockDocker</a> : <span class="keyword">public</span> <a class="code" href="classDocker.html">Docker</a></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;{</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b">MockDocker</a>(</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> std::string&amp; socket,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">c
 onst</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; config = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a685c68f87dc5987215611c11b1b8d8da">~MockDocker</a>();</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <a class="code" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <a class="code" href="classprocess_1_
 1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;(</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keyword">const</span> <a class="code" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a>&amp; options,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp;,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp;));</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1
 MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">MOCK_CONST_METHOD2</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <a class="code" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">ps</a>,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::list&lt;Docker::Container&gt;&gt;(</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;          <span class="keywordtype">bool</span>, <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp;));</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</d
 iv><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Image&gt;</a>(</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;          <span class="keywordtype">bool</span>));</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1t
 ests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <a class="code" href="classDocker.html#a4f45c8632608059b07157a65033474fc">stop</a>,</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp;,</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;          <span class="keywordtype">bool</span>));</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div cl
 ass="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ae85681ccc730211e96c15f662c2d06f7">MOCK_CONST_METHOD2</a>(</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a>,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Container&gt;</a>(</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp;));</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#16
 0;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526">   93</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526">_run</a>(</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a>&amp; runOptions,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stdout,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> <a class="code
 " href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stderr)<span class="keyword"> const</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">Docker::run</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        runOptions,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        _stdout,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        _stderr);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"
 ><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">  104</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Docker::Container&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">_ps</a>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordtype">bool</span> all,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; <a class="code" href="namespaceos_1_1libraries_1_1Library.html#ab0e1a0e311049b6d685de1068e8f4690">prefix</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00108"></
 a><span class="lineno">  108</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#ae3d964240a23f43633d7f8c740ce246b">Docker::ps</a>(all, prefix);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">  111</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Image&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">_pull</a>(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&
 #160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0b832bc5a87c3ee5d449e">image</a>,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keywordtype">bool</span> force)<span class="keyword"> const</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">Docker::pull</a>(directory, image, force);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  }</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDoc
 ker.html#a9eda8808316703e3f20865fe5a536f49">  119</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">_stop</a>(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; timeout,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keywordtype">bool</span> <span class="keyword">remove</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00124"></a><span class="lin
 eno">  124</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a4f45c8632608059b07157a65033474fc">Docker::stop</a>(containerName, timeout, <span class="keyword">remove</span>);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93">  127</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Container&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93">_inspect</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00
 129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; retryInterval)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">Docker::inspect</a>(containerName, retryInterval);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;};</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">// Definition of a mock DockerContai
 nerizer to be used in tests with gmock.</span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">  137</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">slave::DockerContainerizer</a> {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>(</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> <a class="code" href="class
 mesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">slave::Fetcher</a>* fetcher,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; logger,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;</a> <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a c
 lass="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>(</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;slave::DockerContainerizerProcess&gt;</a>&amp; <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>();</div><div class="line"><a name="l00150"><
 /a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a0e3293396509e28707b65c0fb53d720c">  151</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a0e3293396509e28707b65c0fb53d720c">initialize</a>()</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  {</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="comment">// NOTE: See TestContainerizer::setup for why we use</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="comment">// &#39;EXPECT_CALL&#39; and &#39;WillRepeatedly&#39; here instead of</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="comment">// &#39;ON_CALL&#
 39; and &#39;WillByDefault&#39;.</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="namespacemesos_1_1internal_1_1local.html#a49af0f1418069661970870214d98d0c4">launch</a>(_, _, _, _))</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      .WillRepeatedly(Invoke(<span class="keyword">this</span>, &amp;<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">MockDockerContainerizer::_launch</a>));</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(_, _))</div><div class="line"><a name="l00160"></a><span cl
 ass="lineno">  160</span>&#160;      .WillRepeatedly(Invoke(<span class="keyword">this</span>, &amp;<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">MockDockerContainerizer::_update</a>));</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  }</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  MOCK_METHOD4(</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <a class="code" href="namespacemesos_1_1internal_1_1local.html#a49af0f1418069661970870214d98d0c4">launch</a>,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;slave::Containerizer::LaunchResult&gt;</a>(</div><div class="line"><a name="l00166"></a><span class="lineno"
 >  166</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          <span class="keyword">const</span> mesos::slave::ContainerConfig&amp;,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;          <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp;,</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp;));</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  MOCK_METHOD2(</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">
 update</a>,</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;          <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp;));</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="comment">// Default &#39;launch&#39; implementation (necessary because we can&#39;t just</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="comment">// use &amp;slave::DockerContainerizer::launch with &#39;Invoke&#39;).</span
 ></div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">  179</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;slave::Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">_launch</a>(</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="namespacemesos_1
 _1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath)</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a61ba4cf750d8896d2034af8d9128c218">slave::DockerContainerizer::launch</a>(</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        containerId,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        containerConfig,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        environment,</div><div class
 ="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        pidCheckpointPath);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">  192</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">_update</a>(</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <span class="keyword">const</span> <a class="code" href="
 classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  {</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a2ca322cbd1737f4f03c5b96ee882e5a6">slave::DockerContainerizer::update</a>(</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        containerId,</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        resources);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  }</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;};</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="l
 ine"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">// Definition of a mock DockerContainerizerProcess to be used in tests</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">// with gmock.</span></div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">  205</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html">slave::DockerContainerizerProcess</a></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">publ
 ic</span>:</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a>(</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">slave::Fetcher</a>* fetcher,</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; logger,</div><div class="line"><a name="l00212"></a><span class="lineno">  212
 </span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;</a>&amp; <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a>();</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  MOCK_METHOD1(</div><div 
 class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;      <a class="code" href="namespaceflags.html#a27c0d145bbd7c2870512fd59a50222d9">fetch</a>,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  MOCK_METHOD1(</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;      <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div clas
 s="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#acfec378344dbde665f5758af9f55b974">  225</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#acfec378344dbde665f5758af9f55b974">_fetch</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#aebc5890cccfbeaf44b48be7b33c676e9">slave::DockerContainerizerProcess::fetch</a>(containerId);</div><div class="line">
 <a name="l00228"></a><span class="lineno">  228</span>&#160;  }</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#ad452ce42356e37f52a734dbd408aaf02">  230</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#ad452ce42356e37f52a734dbd408aaf02">_pull</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  {</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#acdb0e3fe92ec605185e566fb27e7aeff">slave
 ::DockerContainerizerProcess::pull</a>(containerId);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;};</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif // __TESTS_MOCKDOCKER_HPP__</span></div><div class="ttc" id="namespacepath_htm
 l"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<a href="mock__docker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa
 n class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// dist
 ributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TESTS_MOCKDOCKER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TESTS_MOCKDOCKER_HPP__</span></div><div class="
 line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;<
 /span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2container__logger_8hpp.html">mesos/slave/container_logger.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html
 ">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="json_8hpp.html">stout/json.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2docker_8hpp.html">slave/containerizer/docker.hpp</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span
  class="preprocessor">#include &quot;<a class="code" href="components_8hpp.html">slave/containerizer/mesos/isolators/gpu/components.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;using ::testing::_;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;using ::testing::Invoke;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">using</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1NvidiaComponents.html">mesos::internal::slave::NvidiaComponents</a>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">namespace </span><a class="code
 " href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// Definition of a mock Docker to be used in tests with gmock.</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">   51</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html">MockDocker</a> : <span class="keyword">public</span> <a class="code" href="classDocker.html">Docker</a></div><div 
 class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b">MockDocker</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> std::string&amp; socket,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;JSON::Object&gt;</a>&amp; config = <a class="code" href="structNone.html">Non
 e</a>());</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a685c68f87dc5987215611c11b1b8d8da">~MockDocker</a>();</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <a class="code" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">run</a>,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;int&gt;</a>&gt;(</div><div class="line"><a name="l00
 063"></a><span class="lineno">   63</span>&#160;          <span class="keyword">const</span> <a class="code" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a>&amp; options,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp;,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp;));</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8589c9051ba96dca1090a867ecc1da82">MOCK_CONST_METHOD2</a>(</div><div class="line"><a name="l00068"></a><span class="lineno"
 >   68</span>&#160;      <a class="code" href="classDocker.html#a5ed360ee69fa51d583742bdf1e76e2c0">ps</a>,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::vector&lt;Docker::Container&gt;&gt;(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keywordtype">bool</span>, <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp;));</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <a class="code" href="classDocker.html#ad4131f2a6b
 66ab4661339c51d20d812d">pull</a>,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Image&gt;</a>(</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;          <span class="keywordtype">bool</span>));</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a0561a3c8e5d2286627453b511f803d4d">MOCK_CONST_METHOD3</a>(</div><div class="line"><a name="l00080"></a><span clas
 s="lineno">   80</span>&#160;      <a class="code" href="classDocker.html#a4f45c8632608059b07157a65033474fc">stop</a>,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp;,</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          <span class="keywordtype">bool</span>));</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDoc
 ker.html#a8589c9051ba96dca1090a867ecc1da82">MOCK_CONST_METHOD2</a>(</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <a class="code" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">inspect</a>,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Container&gt;</a>(</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;          <span class="keyword">const</span> std::string&amp;,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp;));</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.h
 tml#a8073b72f047203776ff3b313eef31526">   92</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a8073b72f047203776ff3b313eef31526">_run</a>(</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDocker_1_1RunOptions.html">Docker::RunOptions</a>&amp; runOptions,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stdout,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; _stderr)<span class="keyword"> const</span></div><div cla
 ss="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a4c921c0018b3ca12ad726617d2938710">Docker::run</a>(</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        runOptions,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        _stdout,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        _stderr);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  }</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">  103</a></span>&#160;  <a c
 lass="code" href="classprocess_1_1Future.html">process::Future&lt;std::vector&lt;Docker::Container&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a047b723dade233ef8cca866fc3838cb5">_ps</a>(</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keywordtype">bool</span> all,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; <a class="code" href="namespaceos_1_1libraries_1_1Library.html#ab0e1a0e311049b6d685de1068e8f4690">prefix</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a5ed360ee69
 fa51d583742bdf1e76e2c0">Docker::ps</a>(all, prefix);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  }</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">  110</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Image&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#afe6010e3ea6c5ee3538baaf2af6289b3">_pull</a>(</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> std::string&amp; directory,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacemesos_1_1uri_1_1docker.html#abbd9f55734f0
 b832bc5a87c3ee5d449e">image</a>,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keywordtype">bool</span> force)<span class="keyword"> const</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">Docker::pull</a>(directory, image, force);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  }</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">  118</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&
 lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">_stop</a>(</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; timeout,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keywordtype">bool</span> <span class="keyword">remove</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a4f45c8632608059b07157a650334
 74fc">Docker::stop</a>(containerName, timeout, <span class="keyword">remove</span>);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  }</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93">  126</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Docker::Container&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#ab833bff8d560a4af5dd80dd37cc73b93">_inspect</a>(</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> std::string&amp; containerName,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option
 &lt;Duration&gt;</a>&amp; retryInterval)</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  {</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classDocker.html#a3be28ab0231c0fefaf839661b790c457">Docker::inspect</a>(containerName, retryInterval);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;};</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">// Definition of a mock DockerContainerizer to be used in tests with gmock.</span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="c
 lassmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">  136</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">slave::DockerContainerizer</a> {</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>(</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="
 line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">slave::Fetcher</a>* fetcher,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; logger,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;</a> <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</di
 v><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>(</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;slave::DockerContainerizerProcess&gt;</a>&amp; <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">MockDockerContainerizer</a>();</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="class
 mesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a0e3293396509e28707b65c0fb53d720c">  150</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a0e3293396509e28707b65c0fb53d720c">initialize</a>()</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  {</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">// NOTE: See TestContainerizer::setup for why we use</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="comment">// &#39;EXPECT_CALL&#39; and &#39;WillRepeatedly&#39; here instead of</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="comment">// &#39;ON_CALL&#39; and &#39;WillByDefault&#39;.</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    EXPECT_C
 ALL(*<span class="keyword">this</span>, <a class="code" href="namespacemesos_1_1internal_1_1local.html#a49af0f1418069661970870214d98d0c4">launch</a>(_, _, _, _))</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      .WillRepeatedly(Invoke(<span class="keyword">this</span>, &amp;<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">MockDockerContainerizer::_launch</a>));</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(_, _))</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      .WillRepeatedly(Invoke(<span class="keyword">this</span>, &amp;<a class="code" href="classmesos_1_
 1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">MockDockerContainerizer::_update</a>));</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  MOCK_METHOD4(</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <a class="code" href="namespacemesos_1_1internal_1_1local.html#a49af0f1418069661970870214d98d0c4">launch</a>,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;slave::Containerizer::LaunchResult&gt;</a>(</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00166"></a><span cla
 ss="lineno">  166</span>&#160;          <span class="keyword">const</span> mesos::slave::ContainerConfig&amp;,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp;,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp;));</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  MOCK_METHOD2(</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>,</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <a class="code" href="classprocess
 _1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;          <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp;));</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="comment">// Default &#39;launch&#39; implementation (necessary because we can&#39;t just</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="comment">// use &amp;slave::DockerContainerizer::launch with &#39;Invoke&#39;).</span></div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerC
 ontainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">  178</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;slave::Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a7428a926b7066d86f6cce6b71fa11e6b">_launch</a>(</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00182"></a><span class="l
 ineno">  182</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath)</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  {</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a61ba4cf750d8896d2034af8d9128c218">slave::DockerContainerizer::launch</a>(</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        containerId,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        containerConfig,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        environment,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        pidCheckpointPath);</div><div class="line"><a name="l00189"
 ></a><span class="lineno">  189</span>&#160;  }</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">  191</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html#a55a74a8cbacea3c7590e5e5e3e81ba31">_update</a>(</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00194"></a><span class="lineno">  194</spa
 n>&#160;  {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a2ca322cbd1737f4f03c5b96ee882e5a6">slave::DockerContainerizer::update</a>(</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        containerId,</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        resources);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;};</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment">// Definition of a mock DockerContainerizerProce
 ss to be used in tests</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">// with gmock.</span></div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">  204</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html">slave::DockerContainerizerProcess</a></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;{</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <a class="code" href="classmesos_1_1int
 ernal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a>(</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">slave::Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">slave::Fetcher</a>* fetcher,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::ContainerLogger&gt;</a>&amp; logger,</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Docker&gt;<
 /a>&amp; <a class="code" href="namespacedocker.html">docker</a>,</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">MockDockerContainerizerProcess</a>();</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  MOCK_METHOD1(</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;      <a class="code" href="namespaceflags.html#a27c0d145bbd7c
 2870512fd59a50222d9">fetch</a>,</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  MOCK_METHOD1(</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;      <a class="code" href="classDocker.html#ad4131f2a6b66ab4661339c51d20d812d">pull</a>,</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">
 <a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#acfec378344dbde665f5758af9f55b974">  224</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#acfec378344dbde665f5758af9f55b974">_fetch</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  {</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#aebc5890cccfbeaf44b48be7b33c676e9">slave::DockerContainerizerProcess::fetch</a>(containerId);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div><div class="line"><a name="l00228"></a><span class="lineno">  228<
 /span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#ad452ce42356e37f52a734dbd408aaf02">  229</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html#ad452ce42356e37f52a734dbd408aaf02">_pull</a>(<span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  {</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#acdb0e3fe92ec605185e566fb27e7aeff">slave::DockerContainerizerProcess::pull</a>(containerId);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160
 ;  }</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;};</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#endif // __TESTS_MOCKDOCKER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
 <div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess_html_acdb0e3fe92ec605185e566fb27e7aeff"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#acdb0e3fe92ec605185e566fb27e7aeff">mesos::internal::slave::DockerContainerizerProcess::pull</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; pull(const ContainerID &amp;containerId)</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">mesos::internal::tests::MockDockerContainerizer</a></div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:137</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizer.html">mesos::internal::tests::MockDockerContainerizer</a></div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:136</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; JSON::Object &gt;</a></div></div>
 <div class="ttc" id="namespacerouting_1_1filter_1_1basic_html_a088d88712e011acb0673da92045b365b"><div class="ttname"><a href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">routing::filter::basic::update</a></div><div class="ttdeci">Try&lt; bool &gt; update(const std::string &amp;link, const Handle &amp;parent, uint16_t protocol, const action::Mirror &amp;mirror)</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDocker_html_acb65df9983566558465b3a3464724c12"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#acb65df9983566558465b3a3464724c12">mesos::internal::tests::MockDocker::_ps</a></div><div class="ttdeci">process::Future&lt; std::list&lt; Docker::Container &gt; &gt; _ps(bool all, const Option&lt; std::string &gt; &amp;prefix) const </div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:104</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Fetcher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">mesos::internal::slave::Fetcher</a></div><div class="ttdef"><b>Definition:</b> fetcher.hpp:49</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerContainerizer_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">mesos::internal::slave::DockerContainerizer</a></div><div class="ttdef"><b>Definition:</b> docker.hpp:64</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerContainerizer_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html">mesos::internal::slave::DockerContainerizer</a></div><div class="ttdef"><b>Definition:</b> docker.hpp:63</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDocker_html_a7cb4dbff2995fd68670da9702246672b"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a7cb4dbff2995fd68670da9702246672b">mesos::internal::tests::MockDocker::MockDocker</a></div><div class="ttdeci">MockDocker(const std::string &amp;path, const std::string &amp;socket, const Option&lt; JSON::Object &gt; &amp;config=None())</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDocker_html_a9eda8808316703e3f20865fe5a536f49"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">mesos::internal::tests::MockDocker::_stop</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; _stop(const std::string &amp;containerName, const Duration &amp;timeout, bool remove) const </div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:119</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">mesos::internal::tests::MockDockerContainerizerProcess</a></div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:205</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDocker_html_a9eda8808316703e3f20865fe5a536f49"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDocker.html#a9eda8808316703e3f20865fe5a536f49">mesos::internal::tests::MockDocker::_stop</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; _stop(const std::string &amp;containerName, const Duration &amp;timeout, bool remove) const </div><div class="ttdef"><b>Definition:</b> mock_docker.hpp:118</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockDockerContainerizerProcess.html">mesos::internal::tests::MockDockerContainerizerP

<TRUNCATED>

[09/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2master_2master_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2master_2master_8hpp_source.html b/content/api/latest/c++/src_2master_2master_8hpp_source.html
index c4f1b2d..863359b 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -52,20 +52,20 @@
 <div class="title">master.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2master_2master_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"><
 /a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">
 // distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MASTER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MASTER_HPP__</span></div><div class="line"><a name
 ="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class=
 "line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;boost/circular_buffer.hpp&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="type__utils_8hpp.html">mesos/type_utils.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33<
 /span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2maintenance_2maintenance_8hpp.html">mesos/maintenance/maintenance.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2allocator_2allocator_8hpp.html">mesos/allocator/allocator.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="master_2contender_8hpp.html">mesos/master/contender.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2master_2detector_8hpp.html">mesos/maste
 r/detector.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2master_2master_8hpp.html">mesos/master/master.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2module_2authenticator_8hpp.html">mesos/module/authenticator.hpp</a>&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2quota_2quota_8hpp.html">mesos/quota/quota.hpp</a>&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a n
 ame="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="scheduler_2scheduler_8hpp.html">mesos/scheduler/scheduler.hpp</a>&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00050"></a><span c
 lass="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2protobuf_8hpp.html">process/protobuf.hpp</a>&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="timer_8hpp.html">process/timer.hpp</a>&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><di
 v class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="boundedhashmap_8hpp.html">stout/boundedhashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2cache_8hpp.html">stout/cache.hpp</a>&gt;</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="foreach_8hpp.html">stout/foreach.hpp</a>&gt;</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hash
 set.hpp</a>&gt;</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="linkedhashmap_8hpp.html">stout/linkedhashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="multihashmap_8hpp.html">stout/multihashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2incl
 ude_2stout_2recordio_8hpp.html">stout/recordio.hpp</a>&gt;</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="uuid_8hpp.html">stout/uuid.hpp</a>&gt;</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2common_2http_8hpp.html">common/http.hpp</a>&quot;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="protobuf__utils_8hpp.html">common/protobuf_utils.hpp</a>&quot;</span></div><div class="line"><a name="l00071"><
 /a><span class="lineno">   71</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="common_2resources__utils_8hpp.html">common/resources_utils.hpp</a>&quot;</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="files_8hpp.html">files/files.hpp</a>&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="devolve_8hpp.html">internal/devolve.hpp</a>&quot;</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="evolve_8hpp.html">internal/evolve.hpp</a>&quot;</span></div><div class="line"><a name="l00077">
 </a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2master_2constants_8hpp.html">master/constants.hpp</a>&quot;</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2master_2flags_8hpp.html">master/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="machine_8hpp.html">master/machine.hpp</a>&quot;</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2master_2metrics_8hpp.html">master/metrics.hpp</a>&quot;</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocess
 or">#include &quot;<a class="code" href="master_2validation_8hpp.html">master/validation.hpp</a>&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="messages_8hpp.html">messages/messages.hpp</a>&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">class </span>RateLimiter; <span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;}</div><div class="line"><a name="l00089"></a><span class="lineno
 ">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">class </span>Authorizer;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">class </span>ObjectApprovers;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00097"></a><s
 pan class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespacemesos_1_1internal_1_1registry.html">   99</a></span>&#160;<span class="keyword">namespace </span>registry {</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">class </span>Slaves;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;}</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">class </span>Registry;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1WhitelistWatcher.html">Whitel
 istWatcher</a>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos_1_1v1_1_1master.html">master</a> {</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">class </span>Master;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">class </span>Registrar;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">class </span>SlaveObserver;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">struct </span>BoundedRateLimiter;</div><di
 v class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">struct </span>Framework;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">struct </span>Role;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html">  117</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;{</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>(<a class="code" href="classmesos_1_1internal_1_1master_1_1
 Master.html">Master</a>* <span class="keyword">const</span> _master,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      SlaveInfo _info,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; _pid,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">const</span> MachineID&amp; _machineId,</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">const</span> std::string&amp; _version,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        std::vector&lt;SlaveInfo::Capability&gt; _capabilites,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keyword">const</span> <a class="code" href="classprocess_1_1T
 ime.html">process::Time</a>&amp; _registeredTime,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        std::vector&lt;Resource&gt; _checkpointedResources,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;UUID&gt;</a>&amp; _resourceVersion,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        std::vector&lt;ExecutorInfo&gt; executorInfos = std::vector&lt;ExecutorInfo&gt;(),</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        std::vector&lt;Task&gt; tasks = std::vector&lt;Task&gt;());</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  ~<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>();</div><div cla
 ss="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  Task* getTask(</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keyword">const</span> TaskID&amp; taskId) <span class="keyword">const</span>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keywordtype">void</span> addTask(Task* task);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="comment">// Update slave to recover the resources that were previously</span></div
 ><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="comment">// being used by `task`.</span></div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="comment">// TODO(bmahler): This is a hack for performance. We need to</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="comment">// maintain resource counters because computing task resources</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="comment">// functionally for all tasks is expensive, for now.</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="keywordtype">void</span> recoverResources(Task* task);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</s
 pan>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keywordtype">void</span> removeTask(Task* task);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keywordtype">void</span> addOperation(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="keywordtype">void</span> recoverResources(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#16
 0;  <span class="keywordtype">void</span> removeOperation(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* getOperation(<span class="keyword">const</span> UUID&amp; uuid) <span class="keyword">const</span>;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keywordtype">void</span> addOffer(Offer* offer);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">void</span> removeOffer(Of
 fer* offer);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">void</span> addInverseOffer(InverseOffer* inverseOffer);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordtype">void</span> removeInverseOffer(InverseOffer* inverseOffer);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordtype">bool</span> hasExecutor(</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="k
 eyword">const</span> ExecutorID&amp; executorId) <span class="keyword">const</span>;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keywordtype">void</span> addExecutor(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordtype">void</span> removeExecutor(</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div
 ><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="keywordtype">void</span> apply(<span class="keyword">const</span> std::vector&lt;ResourceConversion&gt;&amp; conversions);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keyword">const</span> SlaveInfo&amp; info,</div><div class="line"><a name="l00181"></a><span class="li
 neno">  181</span>&#160;      <span class="keyword">const</span> std::string&amp; _version,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keyword">const</span> std::vector&lt;SlaveInfo::Capability&gt;&amp; _capabilites,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; _checkpointedResources,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;UUID&gt;</a>&amp; resourceVersion);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a59f6d83e771ca1dc9bf7f3db88d9339d">  186</a></span>&#160;  <a class="code
 " href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a59f6d83e771ca1dc9bf7f3db88d9339d">master</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a977de92e6e1fb9fa145aec95806be71f">  187</a></span>&#160;  <span class="keyword">const</span> SlaveID <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a977de92e6e1fb9fa145aec95806be71f">id</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#af4ee8827d405d9dcb03107dd04fa22ca">  188</a></span>&#160;  SlaveInfo <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#af4ee8827d405d9dcb03107dd04fa22ca">info</a>;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line">
 <a name="l00190"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#adb162982d3dd921c4a9c3114c88daf5c">  190</a></span>&#160;  <span class="keyword">const</span> MachineID <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#adb162982d3dd921c4a9c3114c88daf5c">machineId</a>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a587fe54aa032cf8b260e3722e0f3c8fd">  192</a></span>&#160;  <a class="code" href="structprocess_1_1UPID.html">process::UPID</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a587fe54aa032cf8b260e3722e0f3c8fd">pid</a>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="comment">// TODO(bm
 ahler): Use stout&#39;s Version when it can parse labels, etc.</span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ac4cd16759066addb866615eeaf5e6097">  195</a></span>&#160;  std::string <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#ac4cd16759066addb866615eeaf5e6097">version</a>;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="comment">// Agent capabilities.</span></div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ad684be997cbb5c701e3fe54b36c2b207">  198</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1protobuf_1_1slave_1_1Capabilities.html">protobuf::slave::Capabilities</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.
 html#ad684be997cbb5c701e3fe54b36c2b207">capabilities</a>;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a8a22f7902325bc17e32068ec2e39867b">  200</a></span>&#160;  <a class="code" href="classprocess_1_1Time.html">process::Time</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a8a22f7902325bc17e32068ec2e39867b">registeredTime</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a31770631022ef2687e10fc826709f2c8">  201</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;process::Time&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a31770631022ef2687e10fc826709f2c8">reregisteredTime</a>;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span
 >&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// Slave becomes disconnected when the socket closes.</span></div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a4fb10e5dfb983e03a5bfd4f9eb90c386">  204</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a4fb10e5dfb983e03a5bfd4f9eb90c386">connected</a>;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="comment">// Slave becomes deactivated when it gets disconnected. In the</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">// future this might also happen via HTTP endpoint.</span></div><div class="line"><a name="l00208"></
 a><span class="lineno">  208</span>&#160;  <span class="comment">// No offers will be made for a deactivated slave.</span></div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#aa112c6ba4de9bd7ab91365adf92d5c77">  209</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#aa112c6ba4de9bd7ab91365adf92d5c77">active</a>;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">// Timer for marking slaves unreachable that become disconnected and</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="comment">// don&#39;t reregister. This timeout is larger than the slave</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#16
 0;  <span class="comment">// observer&#39;s timeout, so typically the slave observer will be the</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="comment">// one to mark such slaves unreachable; this timer is a backup for</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="comment">// when a slave responds to pings but does not reregister (e.g.,</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="comment">// because agent recovery has hung).</span></div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a15e591c436773cdfb2ee3369f0541659">  217</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;process::Timer&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a15e591c436773cdfb2ee3369f0541659">reregistra
 tionTimer</a>;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">// Executors running on this slave.</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="comment">// TODO(bmahler): Make this private to enforce that `addExecutor()`</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <span class="comment">// and `removeExecutor()` are used, and provide a const view into</span></div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="comment">// the executors.</span></div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a7
 3bf7efab01d3620fb8cb615c338da6c">  224</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, hashmap&lt;ExecutorID, ExecutorInfo&gt;</a>&gt; <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a73bf7efab01d3620fb8cb615c338da6c">executors</a>;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">// Tasks that have not yet been launched because they are currently</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">// being authorized. This is similar to Framework&#39;s pendingTasks but we</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="comment">// track pendingTasks per agent separately to determine if any offer</span></div><div class="line"><a name="l00229"></a><span class="lineno">  2
 29</span>&#160;  <span class="comment">// operation for this agent would change resources requested by these tasks.</span></div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a33cbcce2b9fcf343f15cb4f64672868d">  230</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, hashmap&lt;TaskID, TaskInfo&gt;</a>&gt; <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a33cbcce2b9fcf343f15cb4f64672868d">pendingTasks</a>;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="comment">// Tasks present on this slave.</span></div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="comment
 ">// TODO(bmahler): Make this private to enforce that `addTask()` and</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">// `removeTask()` are used, and provide a const view into the tasks.</span></div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="comment">// TODO(bmahler): The task pointer ownership complexity arises from the fact</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">// that we own the pointer here, but it&#39;s shared with the Framework struct.</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">// We should find a way to eliminate this.</span></div><div class="line"><a name="l00240"></a><span class="lineno"><a class="lin
 e" href="structmesos_1_1internal_1_1master_1_1Slave.html#af31bd54cf2fd44fd1d95d1c898d6d2c8">  240</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, hashmap&lt;TaskID, Task*&gt;</a>&gt; <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#af31bd54cf2fd44fd1d95d1c898d6d2c8">tasks</a>;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="comment">// Tasks that were asked to kill by frameworks.</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">// This is used for reconciliation when the slave reregisters.</span></div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a471feb09e6e40006c48fa1941ae4961a">  244</a></span>&#160;  <a class="code" href="classmultihashmap.html">
 multihashmap&lt;FrameworkID, TaskID&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a471feb09e6e40006c48fa1941ae4961a">killedTasks</a>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="comment">// Pending operations or terminal operations that have</span></div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="comment">// unacknowledged status updates on this agent.</span></div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a4810733e4b2c0ff6c35ad5ade573ac75">  248</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;UUID, Operation*&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a4810733e4b2c0ff6c35ad5ade573ac75">operations</a>;</div><div class="line"><
 a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="comment">// Active offers on this slave.</span></div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a9dbf820e6c564c4333f97eaff7136cb1">  251</a></span>&#160;  <a class="code" href="classhashset.html">hashset&lt;Offer*&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a9dbf820e6c564c4333f97eaff7136cb1">offers</a>;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">// Active inverse offers on this slave.</span></div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a2232ba794de09c7834fd882888c8e8c4">  254
 </a></span>&#160;  <a class="code" href="classhashset.html">hashset&lt;InverseOffer*&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a2232ba794de09c7834fd882888c8e8c4">inverseOffers</a>;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="comment">// Resources for active task / executors / operations.</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="comment">// Note that we maintain multiple copies of each shared resource in</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="comment">// `usedResources` as they are used by multiple tasks.</span></div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#abb421e81e433867b8c5f9382c92a0812">  259<
 /a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, Resources&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#abb421e81e433867b8c5f9382c92a0812">usedResources</a>;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a8424019e6048a4f479cd0005873c8314">  261</a></span>&#160;  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a8424019e6048a4f479cd0005873c8314">offeredResources</a>; <span class="comment">// Offers.</span></div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="comment">// Resources that should be checkpointed by the slave (e.g.,</span></d
 iv><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="comment">// persistent volumes, dynamic reservations, etc). These are either</span></div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="comment">// in use by a task/executor, or are available for use and will be</span></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="comment">// re-offered to the framework.</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">// TODO(jieyu): `checkpointedResources` is only for agent default</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="comment">// resources. Resources from resource providers are not included in</span></div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">// this field. Consid
 er removing this field.</span></div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#a5324f39f9aebebd7a65baa4edf1789f9">  270</a></span>&#160;  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a5324f39f9aebebd7a65baa4edf1789f9">checkpointedResources</a>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="comment">// The current total resources of the slave. Note that this is</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// different from &#39;info.resources()&#39; because this also considers</span></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">// operations (e.g.
 , CREATE, RESERVE) that have been applied and</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">// includes revocable resources and resources from resource</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="comment">// providers as well.</span></div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ae797309d98eea44477d8b5611972f907">  277</a></span>&#160;  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#ae797309d98eea44477d8b5611972f907">totalResources</a>;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">// Used to establish the relationship between the operatio
 n and the</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="comment">// resources that the operation is operating on. Each resource</span></div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">// provider will keep a resource version UUID, and change it when it</span></div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// believes that the resources from this resource provider are out</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">// of sync from the master&#39;s view.  The master will keep track of</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="comment">// the last known resource version UUID for each resource provider,</span></div><div class="line"><a name="l00285"></a><span class="lineno">  285</s
 pan>&#160;  <span class="comment">// and attach the resource version UUID in each operation it sends</span></div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="comment">// out. The resource provider should reject operations that have a</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">// different resource version UUID than that it maintains, because</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="comment">// this means the operation is operating on resources that might</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="comment">// have already been invalidated.</span></div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ab0449df2888be22f3d5c0288367ca31f">  290</a></span>&#160;  <a cla
 ss="code" href="classOption.html">Option&lt;UUID&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#ab0449df2888be22f3d5c0288367ca31f">resourceVersion</a>;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ace1f060347d268874173bac4c6e0a035">  292</a></span>&#160;  SlaveObserver* <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#ace1f060347d268874173bac4c6e0a035">observer</a>;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html">  294</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html">ResourcePro
 vider</a> {</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#a2f79355937f8c3b4b17bafcf4d46cf1d">  295</a></span>&#160;    ResourceProviderInfo <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#a2f79355937f8c3b4b17bafcf4d46cf1d">info</a>;</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#ada581846ff5ab022c593e7e6260905af">  296</a></span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#ada581846ff5ab022c593e7e6260905af">totalResources</a>;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="co
 mment">// Used to establish the relationship between the operation and the</span></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="comment">// resources that the operation is operating on. Each resource</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="comment">// provider will keep a resource version UUID, and change it when it</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="comment">// believes that the resources from this resource provider are out</span></div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="comment">// of sync from the master&#39;s view.  The master will keep track of</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="comment">// the last known resource version UUID for each resource provider,</span
 ></div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="comment">// and attach the resource version UUID in each operation it sends</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="comment">// out. The resource provider should reject operations that have a</span></div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="comment">// different resource version UUID than that it maintains, because</span></div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <span class="comment">// this means the operation is operating on resources that might</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="comment">// have already been invalidated.</span></div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1m
 aster_1_1Slave_1_1ResourceProvider.html#aa8f983cfaa834cca6e4f9b372815396b">  309</a></span>&#160;    UUID <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#aa8f983cfaa834cca6e4f9b372815396b">resourceVersion</a>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="comment">// Pending operations or terminal operations that have</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">// unacknowledged status updates.</span></div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave_1_1ResourceProvider.html#aadb3d3717bababe38b8dcb2eb3b3cbf2">  313</a></span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;UUID, Operation*&gt;</a> <a class="code" href="structmesos_1_1internal_1
 _1master_1_1Slave_1_1ResourceProvider.html#aadb3d3717bababe38b8dcb2eb3b3cbf2">operations</a>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  };</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Slave.html#ac69e834c9f86c1628859459e4e5255b5">  316</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ResourceProviderID, ResourceProvider&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#ac69e834c9f86c1628859459e4e5255b5">resourceProviders</a>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <a class="code" href="
 structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp;);              <span class="comment">// No copying.</span></div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp;); <span class="comment">// No assigning.</span></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;};</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="namespacemesos_1_1internal_1_1master.html#a222c724f5e238d743bb338c7
 1016048d">  324</a></span>&#160;<span class="keyword">inline</span> std::ostream&amp; <a class="code" href="namespaceprocess.html#a1f0b8b2ea7d75c3b9d8d4781689f731b">operator&lt;&lt;</a>(std::ostream&amp; stream, <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp; slave)</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="keywordflow">return</span> stream &lt;&lt; slave.<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a977de92e6e1fb9fa145aec95806be71f">id</a> &lt;&lt; <span class="stringliteral">&quot; at &quot;</span> &lt;&lt; slave.<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#a587fe54aa032cf8b260e3722e0f3c8fd">pid</a></div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                &lt;&lt; <span class="str
 ingliteral">&quot; (&quot;</span> &lt;&lt; slave.<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html#af4ee8827d405d9dcb03107dd04fa22ca">info</a>.hostname() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;}</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">// Represents the streaming HTTP connection to a framework or a client</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="comment">// subscribed to the &#39;/api/vX&#39; endpoint.</span></div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">  333</a></span>&#160;
 <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a></div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;{</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a4c4c7be068622f9d8c557a58eb065cc6">  335</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a4c4c7be068622f9d8c557a58eb065cc6">HttpConnection</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">process::http::Pipe::Writer</a>&amp; _writer,</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                 <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType,</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;   
               <a class="code" href="structid_1_1UUID.html">id::UUID</a> _streamId)</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    : writer(_writer),</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;      contentType(_contentType),</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;      streamId(_streamId) {}</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <span class="comment">// We need to evolve the internal old style message/unversioned event into a</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="comment">// versioned event e.g., `v1::scheduler::Event` or `v1::master::Event`.</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="keyword">template</sp
 an> &lt;<span class="keyword">typename</span> Message, <span class="keyword">typename</span> Event = v1::scheduler::Event&gt;</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a30bba2e03dffe8a8a369668c15ff6433">  345</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a30bba2e03dffe8a8a369668c15ff6433">send</a>(<span class="keyword">const</span> Message&amp; message)</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  {</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <a class="code" href="classrecordio_1_1Encoder.html">::recordio::Encoder&lt;Event&gt;</a> encoder (<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(</div><div class="line"><a name="l00348"></a><span class="lineno">  34
 8</span>&#160;        <a class="code" href="namespacemesos_1_1internal.html#a9c1f91de8a8a389b357b81f7b51b0554">serialize</a>, contentType, lambda::_1));</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">return</span> writer.write(encoder.<a class="code" href="classrecordio_1_1Encoder.html#a1ab4319875f0c4a59fe6c2283777e78c">encode</a>(<a class="code" href="namespacemesos_1_1internal.html#a845d4d5a46b931d03f340c8afc58b60a">evolve</a>(message)));</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  }</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a2347c2f4d88f6f0043690aba6dfac27f">  353</a></span>&#160;  <span class="keywordtype">bo
 ol</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a2347c2f4d88f6f0043690aba6dfac27f">close</a>()</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="keywordflow">return</span> writer.close();</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  }</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#aabda4b0588e263e20f98c220f1f7da92">  358</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#aabda4b0588e263e20f98c220f1f7da92">closed</a>()<span class="keyword"> const</span></div><div
  class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">return</span> writer.readerClosed();</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  }</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#aeb26fc327b1d73f95d9d874eb4226d5c">  363</a></span>&#160;  <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">process::http::Pipe::Writer</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#aeb26fc327b1d73f95d9d874eb4226d5c">writer</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.ht
 ml#a96b11a33b4022d7a60fa6d672de552ea">  364</a></span>&#160;  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a96b11a33b4022d7a60fa6d672de552ea">contentType</a>;</div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#ad6de2b778601691522fab0b3eed260e7">  365</a></span>&#160;  <a class="code" href="structid_1_1UUID.html">id::UUID</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#ad6de2b778601691522fab0b3eed260e7">streamId</a>;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;};</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  3
 69</span>&#160;<span class="comment">// This process periodically sends heartbeats to a given HTTP connection.</span></div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="comment">// The `Message` template parameter is the type of the heartbeat event passed</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="comment">// into the heartbeater during construction, while the `Event` template</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="comment">// parameter is the versioned event type which is sent to the client.</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">// The optional delay parameter is used to specify the delay period before it</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="comment">// sends the first heartbeat
 .</span></div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Message, <span class="keyword">typename</span> Event&gt;</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">  376</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">Heartbeater</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;Heartbeater&lt;Message, Event&gt;&gt;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;{</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1master_1
 _1Heartbeater.html#a9c325ca5310bfde29ae8ba93b0d72afb">  379</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html#a9c325ca5310bfde29ae8ba93b0d72afb">Heartbeater</a>(<span class="keyword">const</span> std::string&amp; _logMessage,</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;              <span class="keyword">const</span> Message&amp; _heartbeatMessage,</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;              <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; _http,</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;              <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; _interval,</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;              <span class="keyword"
 >const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; _delay = <a class="code" href="structNone.html">None</a>())</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    : <a class="code" href="namespaceprocess.html">process</a>::ProcessBase(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;heartbeater&quot;</span>)),</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;      logMessage(_logMessage),</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;      heartbeatMessage(_heartbeatMessage),</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;      <a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>(_http),</div><div class="line"><a name="l00388">
 </a><span class="lineno">  388</span>&#160;      interval(_interval),</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;      <a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">delay</a>(_delay) {}</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html#ac9ebf3a4eb46a4501e13bd38dcd96a5d">  392</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html#ac9ebf3a4eb46a4501e13bd38dcd96a5d">initialize</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span cla
 ss="keyword">  </span>{</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">delay</a>.isSome()) {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;      <a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">process::delay</a>(</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          <a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">delay</a>.get(),</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;          <span class="keyword">this</span>,</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;          &amp;<a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">Heartbeater&lt;Message, Event&gt;::heartbeat</a>);</div><div class="l
 ine"><a name="l00399"></a><span class="lineno">  399</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      heartbeat();</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;  }</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="keywordtype">void</span> heartbeat()</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;  {</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="comment">// Only send a heartbeat if the connection is not closed.</span></div><d
 iv class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>.closed().isPending()) {</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;      VLOG(2) &lt;&lt; <span class="stringliteral">&quot;Sending heartbeat to &quot;</span> &lt;&lt; logMessage;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;      Message message(heartbeatMessage);</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;      <a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>.send&lt;Message, <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">Event</a>&gt;(message);</div><div class="li
 ne"><a name="l00413"></a><span class="lineno">  413</span>&#160;    }</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">process::delay</a>(interval, <span class="keyword">this</span>, &amp;<a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">Heartbeater&lt;Message, Event&gt;::heartbeat</a>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  <span class="keyword">const</span> std::string logMessage;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;  <span class="keyword">const</span> Message heartbeatMessage;</div><div class="lin
 e"><a name="l00420"></a><span class="lineno">  420</span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> <a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a> interval;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a> <a class="code" href="namespaceprocess.html#ad46335bec9fe626e60003c33e8f13023">delay</a>;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;};</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div><div class="line">
 <a name="l00426"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1master_1_1Master.html">  426</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a> : <span class="keyword">public</span> <a class="code" href="classProtobufProcess.html">ProtobufProcess</a>&lt;Master&gt;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;{</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>(<a class="code" href="classmesos_1_1allocator_1_1Allocator.html">mesos::allocator::Allocator</a>* allocator,</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;         <a class="code" href="classmesos_1_1internal_1_1mas
 ter_1_1Registrar.html">Registrar</a>* registrar,</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;         <a class="code" href="classmesos_1_1internal_1_1Files.html">Files</a>* files,</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;         <a class="code" href="classmesos_1_1master_1_1contender_1_1MasterContender.html">mesos::master::contender::MasterContender</a>* contender,</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;         <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector,</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;         <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Authorizer*&gt;</a>&amp; authorizer,</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;         <span class="ke
 yword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::shared_ptr&lt;process::RateLimiter&gt;&gt;&amp;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;           slaveRemovalLimiter,</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;         <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a> = <a class="code" href="classmesos_1_1internal_1_1master_1_1Flags.html">Flags</a>());</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>();</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a na
 me="l00441"></a><span class="lineno">  441</span>&#160;  <span class="comment">// Message handlers.</span></div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  <span class="keywordtype">void</span> submitScheduler(</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="keywordtype">void</span> registerFramework(</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;   
    RegisterFrameworkMessage&amp;&amp; registerFrameworkMessage);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <span class="keywordtype">void</span> reregisterFramework(</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;      ReregisterFrameworkMessage&amp;&amp; reregisterFrameworkMessage);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  <span class="keywordtype">void</span> unregisterFramework(</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;      <span class="keyword">const</
 span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId);</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <span class="keywordtype">void</span> deactivateFramework(</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <s
 pan class="comment">// TODO(vinod): Remove this once the old driver is removed.</span></div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  <span class="keywordtype">void</span> resourceRequest(</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;      <span class="keyword">const</span> std::vector&lt;Request&gt;&amp; requests);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  <span class="keywordtype">void</span> launchTasks(</div><div class="line"><a 
 name="l00468"></a><span class="lineno">  468</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;      LaunchTasksMessage&amp;&amp; launchTasksMessage);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <span class="keywordtype">void</span> reviveOffers(</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;      <span class="k
 eyword">const</span> std::vector&lt;std::string&gt;&amp; role);</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  <span class="keywordtype">void</span> killTask(</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      <span class="keyword">const</span> TaskID&amp; taskId);</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  <span class="keywordtype">void</span> statusU
 pdateAcknowledgement(</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;      StatusUpdateAcknowledgementMessage&amp;&amp; statusUpdateAcknowledgementMessage);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="keywordtype">void</span> schedulerMessage(</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;      FrameworkToExecutorMessage&amp;&amp; frameworkToExecutorMessage);</div><div class="l
 ine"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;  <span class="keywordtype">void</span> executorMessage(</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;      ExecutorToFrameworkMessage&amp;&amp; executorToFrameworkMessage);</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="namespacemesos_1_1internal_1_1master_1_1validation_1_1master_1_1message.html#afd6f535967a78ca5bfe59127ac23a626">registerSlave</a>(</div><div class="line"><a name="l00494"></a><span class="lineno">  494</s
 pan>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;      RegisterSlaveMessage&amp;&amp; registerSlaveMessage);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="namespacemesos_1_1internal_1_1master_1_1validation_1_1master_1_1message.html#aa161808296e305b8b17479f2f7b70fa4">reregisterSlave</a>(</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;      ReregisterSlaveMessage&amp;&amp; incomingMessage);</div><div class="li
 ne"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;  <span class="keywordtype">void</span> unregisterSlave(</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId);</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="keywordtype">void</span> statusUpdate(</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;      StatusUpdateMessage&amp;&amp; statusUpdateMessage);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#1
 60;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  <span class="keywordtype">void</span> reconcileTasks(</div><div

<TRUNCATED>

[13/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp_source.html b/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp_source.html
index 901286b..88f6c41 100644
--- a/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp_source.html
+++ b/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp_source.html
@@ -52,9 +52,10 @@
 <div class="title">launcher.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="slave_2containerizer_2mesos_2launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line">
 <a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<spa
 n class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __LAUNCHER_HPP__</span></div><di
 v class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mesos
 .hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class=
 "preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160
 ;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line">
 <a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">   46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">Launcher</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">   49</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>() {}</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div c
 lass="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="comment">// Recover the necessary state for each container listed in state.</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="comment">// Return the set of containers that are known to the launcher but</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="comment">// not known to the slave (a.k.a. orphans).</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos
 ::slave::ContainerState&gt;&amp; states) = 0;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="comment">// Fork a new process in the containerized context. The child will</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="comment">// exec the binary at the given path with the given argv, flags and</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">// environment. The I/O of the child will be redirected according to</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// the specified I/O descriptors. The parentHooks will be executed</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// in the parent process before t
 he child execs. The parent will return</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// the child&#39;s pid if the fork is successful.</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::
 string&gt;&amp; argv,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00071"></a><span class
 ="lineno">   71</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces) = 0;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">// Kill all processes in the containerized context.</span></div><div class="line"><a name="l00076
 "></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId) = 0;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="comment">// Return ContainerStatus information about container.</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="comment">// Currently only returns Executor PID info.</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="c
 ode" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) = 0;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">// Launcher suitable for any POSIX compliant system. Uses process</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// groups and sessions to track processes in a container. POSIX states</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// that pro
 cess groups cannot migrate between sessions so all</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// processes for a container will be contained in a session.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">// Also suitable for Windows, which uses job objects to obtain the</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">// same functionality. Everything is coordinated through `Subprocess`.</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">   91</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">SubprocessLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1
 Launcher.html">Launcher</a></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Launcher*&gt;</a> <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976">   96</a></span>&#160;  <span class="keyword">virtua
 l</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976">~SubprocessLauncher</a>() {}</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">recover</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="c
 lassTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">
 const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* flags,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">con
 st</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">virtual</span> <a class="co
 de" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1">  119</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1">SubprocessLauncher</a>() {}</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</d
 iv><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// The &#39;pid&#39; is the process id of the first process and also the</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// process group id and session id.</span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5">  123</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5">pids</a>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160
 ;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#endif // __LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<a href="slave_2containerizer_2mesos_2launcher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line">
 <a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<spa
 n class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LAUNCHER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __LAUNCHER_HPP__</span></div><di
 v class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mes
 os.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="subprocess_8hpp.html">process/subprocess.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span clas
 s="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">stout/flags.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#1
 60;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line
 "><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">   46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html">Launcher</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">   49</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a71741e35eb44f5ca5734af8d945b0e8d">~Launcher</a>() {}</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div
  class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="comment">// Recover the necessary state for each container listed in state.</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="comment">// Return the set of containers that are known to the launcher but</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="comment">// not known to the slave (a.k.a. orphans).</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> std::vector&lt;m
 esos::slave::ContainerState&gt;&amp; states) = 0;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="comment">// Fork a new process in the containerized context. The child will</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="comment">// exec the binary at the given path with the given argv, flags and</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">// environment. The I/O of the child will be redirected according to</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// the specified I/O descriptors. The parentHooks will be executed</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// in the parent process befo
 re the child execs. The parent will return</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// the child&#39;s pid if the fork is successful.</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> std::vector&lt;s
 td::string&gt;&amp; argv,</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00071"></a><span c
 lass="lineno">   71</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces) = 0;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">// Kill all processes in the containerized context.</span></div><div class="line"><a name="l0
 0076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId) = 0;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="comment">// Return ContainerStatus information about container.</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="comment">// Currently only returns Executor PID info.</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a clas
 s="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId) = 0;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">// Launcher suitable for any POSIX compliant system. Uses process</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// groups and sessions to track processes in a container. POSIX states</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// that
  process groups cannot migrate between sessions so all</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// processes for a container will be contained in a session.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">// Also suitable for Windows, which uses job objects to obtain the</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">// same functionality. Everything is coordinated through `Subprocess`.</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">   91</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html">SubprocessLauncher</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave
 _1_1Launcher.html">Launcher</a></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;Launcher*&gt;</a> <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976">   96</a></span>&#160;  <span class="keyword">vi
 rtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a1d03ee6b67829cfdedf4930208d30976">~SubprocessLauncher</a>() {}</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">recover</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">virtual</span> <a class="code" h
 ref="classTry.html">Try&lt;pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#af6c5246e61f3959d393d06f4abf23b45">fork</a>(</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; argv,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; in,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="key
 word">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; out,</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a>&amp; err,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> <a class="code" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a>* flags,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;std::map&lt;std::string, std::string&gt;&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keywor
 d">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; enterNamespaces,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;int&gt;</a>&amp; cloneNamespaces);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#adf9cd543b7aaf0b999a2a00aa31c6175">destroy</a>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">virtual</span> <a cla
 ss="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">status</a>(</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1">  119</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#af010735837a761ba49b0ff6fb0e50ff1">SubprocessLauncher</a>() {}</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#1
 60;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// The &#39;pid&#39; is the process id of the first process and also the</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// process group id and session id.</span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5">  123</a></span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, pid_t&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a9441321f40e25cb57df4e05751dbcbb5">pids</a>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span
 >&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#endif // __LAUNCHER_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html">mesos::internal::slave::Launcher</a></div><div class="ttdef"><b>Definition:</b> launcher.hpp:46</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a93e8c38b7a4d497b37ce82d9108fedb4"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states)=0</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="subprocess_8hpp_html"><div class="ttname"><a href="subprocess_8hpp.html">subprocess.hpp</a></div></div>
 <div class="ttc" id="include_2mesos_2mesos_8hpp_html"><div class="ttname"><a href="include_2mesos_2mesos_8hpp.html">mesos.hpp</a></div></div>
@@ -75,7 +76,6 @@
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a0a8e37767fb1a65c63bb31b26727697e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher::recover</a></div><div class="ttdeci">virtual process::Future&lt; hashset&lt; ContainerID &gt; &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states)=0</div></div>
 <div class="ttc" id="hashset_8hpp_html"><div class="ttname"><a href="hashset_8hpp.html">hashset.hpp</a></div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1Launcher_html_a45a6d7403aeb433663419923a9956bc0"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a45a6d7403aeb433663419923a9956bc0">mesos::internal::slave::Launcher::status</a></div><div class="ttdeci">virtual process::Future&lt; ContainerStatus &gt; status(const ContainerID &amp;containerId)=0</div></div>


[05/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp_source.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp_source.html
index 0f4c1aa..3a23ba7 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp_source.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">isolator.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (th
 e</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class
 ="lineno">   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preproce
 ssor">#define __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sequence_8hpp.ht
 ml">process/sequence.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave
 /containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="driver_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/driver.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2isolators_2docker_2volume_2paths_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/paths.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/state.hpp</a>&quot;</span></div><div class="lin
 e"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// The isolator is responsible for preparing volumes using docker</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// volume driver APIs,</span></div><div class="line"><a name="l00043"></a><s
 pan class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">   43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">DockerVolumeIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#adc7f9a2d598d75a7519dabe9617d428a">create</a>(<span class="keyword">
 const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// This allows the driver client to be mock for testing.</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aa37344013e4fc32ef429e46408e13ea4">_create</a>(</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00051">
 </a><span class="lineno">   51</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;docker::volume::DriverClient&gt;</a>&amp; client);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a4b409988991161f69586ab7bfcf21729">~DockerVolumeIsolatorProcess</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683">supportsNesting</a>();</div><div class="line"><a name="l00
 056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95">supportsStandalone</a>();</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">recover</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywor
 d">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">prepare</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div
  class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0">cleanup</a>(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  {</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    
 Info (<span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;DockerVolume&gt;</a>&amp; _volumes)</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      : volumes(_volumes) {}</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;DockerVolume&gt;</a> volumes;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  };</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">DockerVolumeIsolatorProcess</a>(</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">const</span
 > <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> std::string&amp; rootDir,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;docker::volume::DriverClient&gt;</a>&amp; client);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00085"></a><span cl
 ass="lineno">   85</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; targets,</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</spa
 n> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> _recover(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> mount(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00096"></a><span class="lineno
 ">   96</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; options);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> _mount(</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l00102"
 ></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; options);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> unmount(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;<
 /a> _unmount(</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">const</span> std::string rootDir;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;docker::volume::DriverClient&gt;</a> client;</div><div class="line"
 ><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="comment">// For a given volume, the docker volume isolator might be doing</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">// mounting and unmounting simultaneously. The sequence can make</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// sure the order we issue them is the same order they are executed.</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <a class="code" href="classhashma
 p.html">hashmap&lt;DockerVolume, process::Sequence&gt;</a> sequences;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;};</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#endif // __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="ttc" id="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp_html"><di
 v class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp.html">state.hpp</a></div></div>
+<a href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (th
 e</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class
 ="lineno">   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preproce
 ssor">#define __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sequence_8hpp.html">process/sequence.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class
 ="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div
 ><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="driver_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/driver.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2isolators_2docker_2volume_2paths_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/paths.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp.html">slave/containerizer/mesos/isolators/docker/volume/state.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</spa
 n>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// The isolator is responsible for preparing volumes using docker</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// volume driver APIs,</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">   42</a></span>&#160;<span c
 lass="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">DockerVolumeIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#adc7f9a2d598d75a7519dabe9617d428a">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html"
 >flags</a>);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="comment">// This allows the driver client to be mock for testing.</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aa37344013e4fc32ef429e46408e13ea4">_create</a>(</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">proce
 ss::Owned&lt;docker::volume::DriverClient&gt;</a>&amp; client);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a4b409988991161f69586ab7bfcf21729">~DockerVolumeIsolatorProcess</a>();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683">supportsNesting</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code
 " href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95">supportsStandalone</a>();</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">recover</a>(</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l0
 0060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">prepare</a>(</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="cl
 assprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0">cleanup</a>(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  {</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    Info (<span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;DockerVolume&gt;</a>&amp; _volumes)</div><di
 v class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      : volumes(_volumes) {}</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;DockerVolume&gt;</a> volumes;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  };</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">DockerVolumeIsolatorProcess</a>(</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00079"></a>
 <span class="lineno">   79</span>&#160;      <span class="keyword">const</span> std::string&amp; rootDir,</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;docker::volume::DriverClient&gt;</a>&amp; client);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; targets,</div><div class="lin
 e"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"
 ><a name="l00091"></a><span class="lineno">   91</span>&#160;  <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> _recover(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> mount(</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> <a class="code" href="clas
 shashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; options);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::string&gt;</a> _mount(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; options);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span cl
 ass="lineno">  103</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> unmount(</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _unmount(</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> std::string&amp; driver,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> std::string&amp; name);</div><div 
 class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keyword">const</span> std::string rootDir;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;docker::volume::DriverClient&gt;</a> client;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00116"></a><span class="lineno">  
 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="comment">// For a given volume, the docker volume isolator might be doing</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="comment">// mounting and unmounting simultaneously. The sequence can make</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">// sure the order we issue them is the same order they are executed.</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;DockerVolume, process::Sequence&gt;</a> sequences;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;};</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#16
 0;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif // __DOCKER_VOLUME_ISOLATOR_HPP__</span></div><div class="ttc" id="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2state_8hpp.html">state.hpp</a></div></div>
 <div class="ttc" id="slave_2containerizer_2mesos_2isolators_2docker_2volume_2paths_8hpp_html"><div class="ttname"><a href="slave_2containerizer_2mesos_2isolators_2docker_2volume_2paths_8hpp.html">paths.hpp</a></div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_ab062769cb109a8b15771346fa50c5683"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ab062769cb109a8b15771346fa50c5683">mesos::internal::slave::DockerVolumeIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
@@ -69,12 +69,11 @@
 <div class="ttc" id="driver_8hpp_html"><div class="ttname"><a href="driver_8hpp.html">driver.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">mesos::internal::slave::DockerVolumeIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:43</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">mesos::internal::slave::DockerVolumeIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:42</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_aa37344013e4fc32ef429e46408e13ea4"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aa37344013e4fc32ef429e46408e13ea4">mesos::internal::slave::DockerVolumeIsolatorProcess::_create</a></div><div class="ttdeci">static Try&lt; mesos::slave::Isolator * &gt; _create(const Flags &amp;flags, const process::Owned&lt; docker::volume::DriverClient &gt; &amp;client)</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_ac2ae1c7f126584259b1e75769957b934"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">mesos::internal::slave::DockerVolumeIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_a51a3341ecc4035d8605273b974237b39"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">mesos::internal::slave::DockerVolumeIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_a7fc8cf2248d2bdb7986821f88b2c25bb"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">mesos::internal::slave::DockerVolumeIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="owned_8hpp_html"><div class="ttname"><a href="owned_8hpp.html">owned.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess_html_a3312d2d13db033844fe11ac581d4d1d0"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0">mesos::internal::slave::DockerVolumeIsolatorProcess::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a href="classprocess_1_1Owned.html">process::Owned&lt; docker::volume::DriverClient &gt;</a></div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp_source.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp_source.html
index 52a5249..1924b79 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp_source.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp_source.html
@@ -52,10 +52,9 @@
 <div class="title">linux.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span
 ></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="linen
 o">   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor
 ">#define __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2includ
 e_2process_2pid_8hpp.html">process/pid.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="pull__gauge_8hpp.html">process/metrics/pull_gauge.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">  
  31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">
    38</span>&#160;<span class="comment">// The filesystem isolator on Linux that is responsible for preparing</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// the root filesystems and volumes (e.g., persistent volumes) for</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// containers. It relies on Linux mount namespace to prevent mounts of</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// a container from being propagated to the host mount table.</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">LinuxFilesystemIsolatorProcess</a>
  : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ac4b659a1f0c7435908013ccd93b6501a">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span 
 class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a85ae45dbb67475b64c3a40df88dd2198">~LinuxFilesystemIsolatorProcess</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a83106b699cb07d30c599824a6714c1a3">supportsNesting</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a606b959d7291303c94149ed7924e79c6">supportsStandalone</a>();</div><div class="line"><a name="l00051"></a><span
  class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">recover</a>(</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="cod
 e" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">prepare</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a6f9f2b8cd0c49afa1acfa7ea7b
 08406f">update</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a49b32626755808558a8fc8fa5211d7e5">cleanup</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a na
 me="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">LinuxFilesystemIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword
 ">struct </span>Info</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  {</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    Info(<span class="keyword">const</span> std::string&amp; _directory) : directory(_directory) {}</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    Info(<span class="keyword">const</span> std::string&amp; _directory,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;         <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ExecutorInfo&gt;</a>&amp; _executor)</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      : directory(_directory),</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        executor(_executor) {}</div><div class="line"><
 a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">const</span> std::string directory;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// Track resources so we can unmount unneeded persistent volumes.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> resources;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="classOption.html">Option&lt;ExecutorInfo&gt;</a> executor;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  };</div><div class="line"
 ><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">struct </span><a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>(</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="k
 eyword">const</span> <a class="code" href="structprocess_1_1PID.html">process::PID&lt;LinuxFilesystemIsolatorProcess&gt;</a>&amp; isolator);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    ~<a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a> containers_new_rootfs;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  } metrics;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">double</span> _containers_new_rootfs();</div><div class="line"><a name="l
 00101"></a><span class="lineno">  101</span>&#160;};</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#endif // __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
+<a href="src_2slave_2containerizer_2mesos_2isolators_2filesystem_2linux_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span
 ></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="linen
 o">   12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor
 ">#define __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2includ
 e_2process_2pid_8hpp.html">process/pid.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="pull__gauge_8hpp.html">process/metrics/pull_gauge.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">  
  31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">
    38</span>&#160;<span class="comment">// The filesystem isolator on Linux that is responsible for preparing</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// the root filesystems and volumes (e.g., persistent volumes) for</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// containers. It relies on Linux mount namespace to prevent mounts of</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// a container from being propagated to the host mount table.</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">LinuxFilesystemIsolatorProcess</a>
  : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ac4b659a1f0c7435908013ccd93b6501a">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span 
 class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a85ae45dbb67475b64c3a40df88dd2198">~LinuxFilesystemIsolatorProcess</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a83106b699cb07d30c599824a6714c1a3">supportsNesting</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a606b959d7291303c94149ed7924e79c6">supportsStandalone</a>();</div><div class="line"><a name="l00051"></a><span
  class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">recover</a>(</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="c
 ode" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a88eec00bf4a5fb44743c6317cb692594">prepare</a>(</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a6f9f2b8cd0c49afa1acfa7ea
 7b08406f">update</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a49b32626755808558a8fc8fa5211d7e5">cleanup</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a 
 name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html">LinuxFilesystemIsolatorProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keywo
 rd">struct </span>Info</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  {</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    Info(<span class="keyword">const</span> std::string&amp; _directory) : directory(_directory) {}</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    Info(<span class="keyword">const</span> std::string&amp; _directory,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;         <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ExecutorInfo&gt;</a>&amp; _executor)</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      : directory(_directory),</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        executor(_executor) {}</div><div class="line"
 ><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">const</span> std::string directory;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// Track resources so we can unmount unneeded persistent volumes.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Resources</a> resources;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="classOption.html">Option&lt;ExecutorInfo&gt;</a> executor;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  };</div><div class="lin
 e"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">struct </span><a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>(</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class=
 "keyword">const</span> <a class="code" href="structprocess_1_1PID.html">process::PID&lt;LinuxFilesystemIsolatorProcess&gt;</a>&amp; isolator);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    ~<a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a> containers_new_rootfs;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  } metrics;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">double</span> _containers_new_rootfs();</div><div class="line"><a name=
 "l00101"></a><span class="lineno">  101</span>&#160;};</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#endif // __LINUX_FILESYSTEM_ISOLATOR_HPP__</span></div><div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess_html_ac4b659a1f0c7435908013ccd93b6501a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ac4b659a1f0c7435908013ccd93b6501a">mesos::internal::slave::LinuxFilesystemIsolatorProcess::create</a></div><div class="ttdeci">static Try&lt; mesos::slave::Isolator * &gt; create(const Flags &amp;flags)</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; ExecutorInfo &gt;</a></div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess_html_a21e1c7227bc8aca8c6a5ab1bdd9ff4f8"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">mesos::internal::slave::LinuxFilesystemIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="include_2mesos_2mesos_8hpp_html"><div class="ttname"><a href="include_2mesos_2mesos_8hpp.html">mesos.hpp</a></div></div>
@@ -77,6 +76,7 @@
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="src_2slave_2flags_8hpp_html"><div class="ttname"><a href="src_2slave_2flags_8hpp.html">flags.hpp</a></div></div>
 <div class="ttc" id="owned_8hpp_html"><div class="ttname"><a href="owned_8hpp.html">owned.hpp</a></div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess_html_ae177456bcfd551ddbc5060fab94cd980"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">mesos::internal::slave::LinuxFilesystemIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1tests_html_ace210c8852d8ef1f0f67ec3af06281f6"><div class="ttname"><a href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">mesos::internal::tests::Metrics</a></div><div class="ttdeci">JSON::Object Metrics()</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess_html_a83106b699cb07d30c599824a6714c1a3"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a83106b699cb07d30c599824a6714c1a3">mesos::internal::slave::LinuxFilesystemIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
 <div class="ttc" id="namespaceflags_html"><div class="ttname"><a href="namespaceflags.html">flags</a></div><div class="ttdef"><b>Definition:</b> parse.hpp:33</div></div>


[24/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/linkedhashmap_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/linkedhashmap_8hpp_source.html b/content/api/latest/c++/linkedhashmap_8hpp_source.html
index b175942..67e437c 100644
--- a/content/api/latest/c++/linkedhashmap_8hpp_source.html
+++ b/content/api/latest/c++/linkedhashmap_8hpp_source.html
@@ -52,33 +52,33 @@
 <div class="title">linkedhashmap.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="linkedhashmap_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//  http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//
 </span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div clas
 s="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="foreach_8hpp.html">stout/foreach.hpp</a>&gt;</span></div><div class="line"><a name="l00020"></a><span class="li
 neno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// Implementation of a hashmap that maintains the insertion order of</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// the keys. Updating a key does not change insertion order.</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// TOD
 O(vinod/bmahler): Consider extending from stout::hashmap and/or</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// having a compatible API with stout::hashmap.</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> Value&gt;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html">   29</a></span>&#160;<span class="keyword">class </span><a class="code" href="classLinkedHashMap.html">LinkedHashMap</a></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#
 ae6cfccfbd837f8f746d1e1efeeeb5455">   32</a></span>&#160;  <span class="keyword">typedef</span> std::pair&lt;Key, Value&gt; <a class="code" href="classLinkedHashMap.html#ae6cfccfbd837f8f746d1e1efeeeb5455">entry</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6">   33</a></span>&#160;  <span class="keyword">typedef</span> std::list&lt;entry&gt; <a class="code" href="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6">list</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2">   34</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="classhashmap.html">hashmap&lt;Key, typename list::iterator&gt;</a> <a class="code" href="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2">map</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</sp
 an>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  <a class="code" href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHashMap</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">   38</a></span>&#160;  <a class="code" href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">LinkedHashMap</a>(<span class="keyword">const</span> <a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp; other)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    : entries_(other.entries_)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</s
 pan>&#160;    <span class="comment">// Build up the index.</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = entries_.begin(); it != entries_.end(); ++it) {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      keys_[it-&gt;first] = it;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">   47</a></span>&#160;  <a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp; <a class="code" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">operator=</a>(<span cla
 ss="keyword">const</span> <a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp; other)</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">clear</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    entries_ = other.entries_;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">// Build up the index.</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = entries_.begin(); it !=
  entries_.end(); ++it) {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      keys_[it-&gt;first] = it;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  }</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// TODO(bmahler): Implement move construction / assignment.</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHash
 Map</a>(<a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp; <a class="code" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">operator=</a>(<a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">   65</a></span>&#160;  Value&amp; <a class="code" href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">operator[] </a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#1
 60;  {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">if</span> (!keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="comment">// Insert a new entry into the list and get a &quot;pointer&quot; to its</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="comment">// location. The initial value is default-constructed.</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">typename</span> list::iterator iter =</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        entries_.insert(entries_.end(), std::make_pair(key, Value()));</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div cl
 ass="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      keys_[key] = iter;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    }</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">return</span> keys_[key]-&gt;second;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  }</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded">   79</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;Value&gt;</a> <span class="keyword">get</span>(<span class="keyword">const</span> Key&amp; key) <span class="keyword">const</span></div><div class="line"><a name="l00080"></a><span class=
 "lineno">   80</span>&#160;  {</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">if</span> (keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  }</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a4b6c8f1254c3ccd2459d94215156c1bd"> 
   87</a></span>&#160;  Value&amp; <a class="code" href="classLinkedHashMap.html#a4b6c8f1254c3ccd2459d94215156c1bd">at</a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  {</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ae87141dd103665dca487b62d385d5c44">   92</a></span>&#160;  <span class="keyword">const</span> Value&amp; <a class="code" href="classLinkedHashMap.html#ae87141dd103665dca487b62d385d5c44">at</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a n
 ame="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a1e01999a72b4e7f0d2541ff1b9892123">   97</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classLinkedHashMap.html#a1e01999a72b4e7f0d2541ff1b9892123">contains</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160
 ;    <span class="keywordflow">return</span> keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">  102</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">erase</a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordflow">if</span> (keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="l
 ine"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">typename</span> list::iterator iter = keys_[key];</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      keys_.erase(key);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      entries_.erase(iter);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  }</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="comment">// Retu
 rns the keys in the map in insertion order.</span></div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">  114</a></span>&#160;  std::list&lt;Key&gt; <a class="code" href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">keys</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::list&lt;Key&gt; result;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> entry&amp; entry, entries_) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      result.push_back(entry.first)
 ;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">// Returns the values in the map in insertion order.</span></div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">  126</a></span>&#160;  std::list&lt;Value&gt; <a class="code" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">values</a>()<span class="keyword"> const</span></div><div class="line"><a n
 ame="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    std::list&lt;Value&gt; result;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> entry&amp; entry, entries_) {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      result.push_back(entry.second);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;
   }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">  137</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">return</span> keys_.size();</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  }</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5
 ">  142</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> keys_.empty();</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">  147</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">clear</a>()</div><div class="line"><a name="l00148"></a><span class="lineno">  148</spa
 n>&#160;  {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    entries_.clear();</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    keys_.clear();</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="comment">// Support for iteration; this allows using `foreachpair` and</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="comment">// related constructs. Note that these iterate over the map in</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">// insertion order.</span></div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a04be3981
 a72f3a912a2c6fefccc0f017">  156</a></span>&#160;  <span class="keyword">typename</span> list::iterator <a class="code" href="classLinkedHashMap.html#a04be3981a72f3a912a2c6fefccc0f017">begin</a>() { <span class="keywordflow">return</span> entries_.begin(); }</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">  157</a></span>&#160;  <span class="keyword">typename</span> list::iterator <a class="code" href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">end</a>() { <span class="keywordflow">return</span> entries_.end(); }</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a730c1964960e69c5f768d43828e98243">  159</a></span>&#160;  <span class="keyword">typename</span> list::const_iterator <a class="code" href="classLinkedHashMap.html#a730c1
 964960e69c5f768d43828e98243">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entries_.cbegin(); }</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">  160</a></span>&#160;  <span class="keyword">typename</span> list::const_iterator <a class="code" href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entries_.cend(); }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  list entries_; <span class="comment">// Key-value pairs ordered by insertion order.</span></div><div class="line"><a name="l00164"></a><span class="line
 no">  164</span>&#160;  map keys_; <span class="comment">// Map from key to &quot;pointer&quot; to key&#39;s location in list.</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;};</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#endif // __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="ttc" id="classLinkedHashMap_html_ab364b2e480e7913f5b999742104b9ad5"><div class="ttname"><a href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">LinkedHashMap::empty</a></div><div class="ttdeci">bool empty() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:142</div></div>
+<a href="linkedhashmap_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//  http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//
 </span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div clas
 s="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="foreach_8hpp.html">stout/foreach.hpp</a>&gt;</span></div><div class="line"><a name="l00020"></a><span class="li
 neno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// Implementation of a hashmap that maintains the insertion order of</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// the keys. Updating a key does not change insertion order.</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// TOD
 O(vinod/bmahler): Consider extending from stout::hashmap and/or</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// having a compatible API with stout::hashmap.</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> Value&gt;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html">   29</a></span>&#160;<span class="keyword">class </span><a class="code" href="classLinkedHashMap.html">LinkedHashMap</a></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#
 ae6cfccfbd837f8f746d1e1efeeeb5455">   32</a></span>&#160;  <span class="keyword">typedef</span> std::pair&lt;Key, Value&gt; <a class="code" href="classLinkedHashMap.html#ae6cfccfbd837f8f746d1e1efeeeb5455">entry</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6">   33</a></span>&#160;  <span class="keyword">typedef</span> std::list&lt;entry&gt; <a class="code" href="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6">list</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2">   34</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="classhashmap.html">hashmap&lt;Key, typename list::iterator&gt;</a> <a class="code" href="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2">map</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</sp
 an>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  <a class="code" href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHashMap</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">   38</a></span>&#160;  <a class="code" href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">LinkedHashMap</a>(<span class="keyword">const</span> <a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp; other)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    : entries_(other.entries_)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</s
 pan>&#160;    <span class="comment">// Build up the index.</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = entries_.begin(); it != entries_.end(); ++it) {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      keys_[it-&gt;first] = it;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">   47</a></span>&#160;  <a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp; <a class="code" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">operator=</a>(<span cla
 ss="keyword">const</span> <a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp; other)</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">clear</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    entries_ = other.entries_;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">// Build up the index.</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = entries_.begin(); it !=
  entries_.end(); ++it) {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      keys_[it-&gt;first] = it;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  }</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// TODO(bmahler): Implement move construction / assignment.</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHash
 Map</a>(<a class="code" href="classLinkedHashMap.html">LinkedHashMap&lt;Key, Value&gt;</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp; <a class="code" href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">operator=</a>(<a class="code" href="classLinkedHashMap.html">LinkedHashMap</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">   65</a></span>&#160;  Value&amp; <a class="code" href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">operator[] </a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#1
 60;  {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">if</span> (!keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="comment">// Insert a new entry into the list and get a &quot;pointer&quot; to its</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="comment">// location. The initial value is default-constructed.</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">typename</span> list::iterator iter =</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        entries_.insert(entries_.end(), std::make_pair(key, Value()));</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div cl
 ass="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      keys_[key] = iter;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    }</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">return</span> keys_[key]-&gt;second;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  }</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a394b34d6febbbfa4b8cfa788d32a3ded">   79</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;Value&gt;</a> <span class="keyword">get</span>(<span class="keyword">const</span> Key&amp; key) <span class="keyword">const</span></div><div class="line"><a name="l00080"></a><span class=
 "lineno">   80</span>&#160;  {</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">if</span> (keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  }</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a4b6c8f1254c3ccd2459d94215156c1bd"> 
   87</a></span>&#160;  Value&amp; <a class="code" href="classLinkedHashMap.html#a4b6c8f1254c3ccd2459d94215156c1bd">at</a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  {</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ae87141dd103665dca487b62d385d5c44">   92</a></span>&#160;  <span class="keyword">const</span> Value&amp; <a class="code" href="classLinkedHashMap.html#ae87141dd103665dca487b62d385d5c44">at</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a n
 ame="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">return</span> keys_.at(key)-&gt;second;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a1e01999a72b4e7f0d2541ff1b9892123">   97</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classLinkedHashMap.html#a1e01999a72b4e7f0d2541ff1b9892123">contains</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160
 ;    <span class="keywordflow">return</span> keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">  102</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">erase</a>(<span class="keyword">const</span> Key&amp; key)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordflow">if</span> (keys_.<a class="code" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(key)) {</div><div class="l
 ine"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">typename</span> list::iterator iter = keys_[key];</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      keys_.erase(key);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      entries_.erase(iter);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  }</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="comment">// Retu
 rns the keys in the map in insertion order.</span></div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">  114</a></span>&#160;  std::vector&lt;Key&gt; <a class="code" href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">keys</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::vector&lt;Key&gt; result;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    result.reserve(entries_.size());</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> entry&amp; entry, entrie
 s_) {</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      result.push_back(entry.first);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    }</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  }</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="comment">// Returns the values in the map in insertion order.</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">  127</a></span>&#160;  std::vector&lt;Value&gt; <a class="code" href="classLin
 kedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">values</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    std::vector&lt;Value&gt; result;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    result.reserve(entries_.size());</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> entry&amp; entry, entries_) {</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      result.push_back(entry.second);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    }</div><div class="line"><a name="l00135"></a><span clas
 s="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">  139</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">return</span> keys_.size();</div><div class="line"><a name="l00142"></a><span class="lineno">  
 142</span>&#160;  }</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">  144</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">return</span> keys_.empty();</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#adb20fe094f8e8b9b
 772ce24c6288a390">  149</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">clear</a>()</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  {</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    entries_.clear();</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    keys_.clear();</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">// Support for iteration; this allows using `foreachpair` and</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="comment">// related constructs. Note that these iterate over the map in</span></div><
 div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="comment">// insertion order.</span></div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a04be3981a72f3a912a2c6fefccc0f017">  158</a></span>&#160;  <span class="keyword">typename</span> list::iterator <a class="code" href="classLinkedHashMap.html#a04be3981a72f3a912a2c6fefccc0f017">begin</a>() { <span class="keywordflow">return</span> entries_.begin(); }</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">  159</a></span>&#160;  <span class="keyword">typename</span> list::iterator <a class="code" href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">end</a>() { <span class="keywordflow">return</span> entries_.end(); }</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l
 00161"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a730c1964960e69c5f768d43828e98243">  161</a></span>&#160;  <span class="keyword">typename</span> list::const_iterator <a class="code" href="classLinkedHashMap.html#a730c1964960e69c5f768d43828e98243">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entries_.cbegin(); }</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">  162</a></span>&#160;  <span class="keyword">typename</span> list::const_iterator <a class="code" href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entries_.cend(); }</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">priva
 te</span>:</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  list entries_; <span class="comment">// Key-value pairs ordered by insertion order.</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  map keys_; <span class="comment">// Map from key to &quot;pointer&quot; to key&#39;s location in list.</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;};</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#endif // __STOUT_LINKEDHASHMAP_HPP__</span></div><div class="ttc" id="classLinkedHashMap_html_ab364b2e480e7913f5b999742104b9ad5"><div class="ttname"><a href="classLinkedHashMap.html#ab364b2e480e7913f5b999742104b9ad5">LinkedHashMap::empty</a></div><di
 v class="ttdeci">bool empty() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:144</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
 <div class="ttc" id="classLinkedHashMap_html_ae87141dd103665dca487b62d385d5c44"><div class="ttname"><a href="classLinkedHashMap.html#ae87141dd103665dca487b62d385d5c44">LinkedHashMap::at</a></div><div class="ttdeci">const Value &amp; at(const Key &amp;key) const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:92</div></div>
 <div class="ttc" id="classLinkedHashMap_html_a4704ff1b5aa82dd4b6764830dc7ece2e"><div class="ttname"><a href="classLinkedHashMap.html#a4704ff1b5aa82dd4b6764830dc7ece2e">LinkedHashMap::LinkedHashMap</a></div><div class="ttdeci">LinkedHashMap(const LinkedHashMap&lt; Key, Value &gt; &amp;other)</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:38</div></div>
 <div class="ttc" id="classLinkedHashMap_html_ae6cfccfbd837f8f746d1e1efeeeb5455"><div class="ttname"><a href="classLinkedHashMap.html#ae6cfccfbd837f8f746d1e1efeeeb5455">LinkedHashMap::entry</a></div><div class="ttdeci">std::pair&lt; Key, Value &gt; entry</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:32</div></div>
-<div class="ttc" id="classLinkedHashMap_html_a06baf18c4e2394b6cdc4da4e0c6f4348"><div class="ttname"><a href="classLinkedHashMap.html#a06baf18c4e2394b6cdc4da4e0c6f4348">LinkedHashMap::keys</a></div><div class="ttdeci">std::list&lt; Key &gt; keys() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:114</div></div>
-<div class="ttc" id="classLinkedHashMap_html_a730c1964960e69c5f768d43828e98243"><div class="ttname"><a href="classLinkedHashMap.html#a730c1964960e69c5f768d43828e98243">LinkedHashMap::begin</a></div><div class="ttdeci">list::const_iterator begin() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:159</div></div>
-<div class="ttc" id="classLinkedHashMap_html_adc48b5dccbbe7fcb942d2f425ca6534a"><div class="ttname"><a href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">LinkedHashMap::size</a></div><div class="ttdeci">size_t size() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:137</div></div>
+<div class="ttc" id="classLinkedHashMap_html_a730c1964960e69c5f768d43828e98243"><div class="ttname"><a href="classLinkedHashMap.html#a730c1964960e69c5f768d43828e98243">LinkedHashMap::begin</a></div><div class="ttdeci">list::const_iterator begin() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:161</div></div>
+<div class="ttc" id="classLinkedHashMap_html_adc48b5dccbbe7fcb942d2f425ca6534a"><div class="ttname"><a href="classLinkedHashMap.html#adc48b5dccbbe7fcb942d2f425ca6534a">LinkedHashMap::size</a></div><div class="ttdeci">size_t size() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:139</div></div>
+<div class="ttc" id="classLinkedHashMap_html_a39b47c86859d23ada5ef4f2ccd2de35a"><div class="ttname"><a href="classLinkedHashMap.html#a39b47c86859d23ada5ef4f2ccd2de35a">LinkedHashMap::keys</a></div><div class="ttdeci">std::vector&lt; Key &gt; keys() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:114</div></div>
 <div class="ttc" id="classhashmap_html"><div class="ttname"><a href="classhashmap.html">hashmap&lt; Key, typename list::iterator &gt;</a></div></div>
-<div class="ttc" id="classLinkedHashMap_html_a02edf8b2b3a433886bd07c7090242e93"><div class="ttname"><a href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">LinkedHashMap::end</a></div><div class="ttdeci">list::const_iterator end() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:160</div></div>
+<div class="ttc" id="classLinkedHashMap_html_a02edf8b2b3a433886bd07c7090242e93"><div class="ttname"><a href="classLinkedHashMap.html#a02edf8b2b3a433886bd07c7090242e93">LinkedHashMap::end</a></div><div class="ttdeci">list::const_iterator end() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:162</div></div>
+<div class="ttc" id="classLinkedHashMap_html_a255ccd94f6b65e44d3b76abc3a4254d9"><div class="ttname"><a href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">LinkedHashMap::values</a></div><div class="ttdeci">std::vector&lt; Value &gt; values() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:127</div></div>
 <div class="ttc" id="classLinkedHashMap_html_aeef7db0820a261eb3629b229f9952049"><div class="ttname"><a href="classLinkedHashMap.html#aeef7db0820a261eb3629b229f9952049">LinkedHashMap::erase</a></div><div class="ttdeci">size_t erase(const Key &amp;key)</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:102</div></div>
 <div class="ttc" id="classLinkedHashMap_html_a0e2e18b706727c05990f0b65dc5e0cf2"><div class="ttname"><a href="classLinkedHashMap.html#a0e2e18b706727c05990f0b65dc5e0cf2">LinkedHashMap::map</a></div><div class="ttdeci">hashmap&lt; Key, typename list::iterator &gt; map</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:34</div></div>
-<div class="ttc" id="classLinkedHashMap_html_a04be3981a72f3a912a2c6fefccc0f017"><div class="ttname"><a href="classLinkedHashMap.html#a04be3981a72f3a912a2c6fefccc0f017">LinkedHashMap::begin</a></div><div class="ttdeci">list::iterator begin()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:156</div></div>
+<div class="ttc" id="classLinkedHashMap_html_a04be3981a72f3a912a2c6fefccc0f017"><div class="ttname"><a href="classLinkedHashMap.html#a04be3981a72f3a912a2c6fefccc0f017">LinkedHashMap::begin</a></div><div class="ttdeci">list::iterator begin()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:158</div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
 <div class="ttc" id="classLinkedHashMap_html_a4b6c8f1254c3ccd2459d94215156c1bd"><div class="ttname"><a href="classLinkedHashMap.html#a4b6c8f1254c3ccd2459d94215156c1bd">LinkedHashMap::at</a></div><div class="ttdeci">Value &amp; at(const Key &amp;key)</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:87</div></div>
 <div class="ttc" id="classLinkedHashMap_html_a420faa2efd1818fdbc58193256825760"><div class="ttname"><a href="classLinkedHashMap.html#a420faa2efd1818fdbc58193256825760">LinkedHashMap::operator[]</a></div><div class="ttdeci">Value &amp; operator[](const Key &amp;key)</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:65</div></div>
 <div class="ttc" id="classLinkedHashMap_html_ada8cb9f2b4ee30c70ae1286740d5f3a4"><div class="ttname"><a href="classLinkedHashMap.html#ada8cb9f2b4ee30c70ae1286740d5f3a4">LinkedHashMap::operator=</a></div><div class="ttdeci">LinkedHashMap &amp; operator=(const LinkedHashMap&lt; Key, Value &gt; &amp;other)</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:47</div></div>
 <div class="ttc" id="foreach_8hpp_html"><div class="ttname"><a href="foreach_8hpp.html">foreach.hpp</a></div></div>
 <div class="ttc" id="structNone_html"><div class="ttname"><a href="structNone.html">None</a></div><div class="ttdef"><b>Definition:</b> none.hpp:27</div></div>
-<div class="ttc" id="classLinkedHashMap_html_adb20fe094f8e8b9b772ce24c6288a390"><div class="ttname"><a href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">LinkedHashMap::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:147</div></div>
+<div class="ttc" id="classLinkedHashMap_html_adb20fe094f8e8b9b772ce24c6288a390"><div class="ttname"><a href="classLinkedHashMap.html#adb20fe094f8e8b9b772ce24c6288a390">LinkedHashMap::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:149</div></div>
 <div class="ttc" id="classLinkedHashMap_html"><div class="ttname"><a href="classLinkedHashMap.html">LinkedHashMap</a></div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:29</div></div>
 <div class="ttc" id="classLinkedHashMap_html_a1e01999a72b4e7f0d2541ff1b9892123"><div class="ttname"><a href="classLinkedHashMap.html#a1e01999a72b4e7f0d2541ff1b9892123">LinkedHashMap::contains</a></div><div class="ttdeci">bool contains(const Key &amp;key) const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:97</div></div>
 <div class="ttc" id="classLinkedHashMap_html_a54b9cda1c54b0bf278b9f434acb42c9d"><div class="ttname"><a href="classLinkedHashMap.html#a54b9cda1c54b0bf278b9f434acb42c9d">LinkedHashMap::LinkedHashMap</a></div><div class="ttdeci">LinkedHashMap()=default</div></div>
 <div class="ttc" id="classhashmap_html_ac142b3f8b73c76d5d4545bbd299007e5"><div class="ttname"><a href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">hashmap::contains</a></div><div class="ttdeci">bool contains(const Key &amp;key) const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:86</div></div>
 <div class="ttc" id="hashmap_8hpp_html"><div class="ttname"><a href="hashmap_8hpp.html">hashmap.hpp</a></div></div>
-<div class="ttc" id="classLinkedHashMap_html_aee49d78a6e99dac010bd0d2a3b68229b"><div class="ttname"><a href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">LinkedHashMap::end</a></div><div class="ttdeci">list::iterator end()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:157</div></div>
-<div class="ttc" id="classLinkedHashMap_html_a9963e9d9df74ec0f589efe7d81d74c30"><div class="ttname"><a href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">LinkedHashMap::values</a></div><div class="ttdeci">std::list&lt; Value &gt; values() const </div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:126</div></div>
+<div class="ttc" id="classLinkedHashMap_html_aee49d78a6e99dac010bd0d2a3b68229b"><div class="ttname"><a href="classLinkedHashMap.html#aee49d78a6e99dac010bd0d2a3b68229b">LinkedHashMap::end</a></div><div class="ttdeci">list::iterator end()</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:159</div></div>
 <div class="ttc" id="classLinkedHashMap_html_aa39f6b99d893dd183e93dd79086fdfd6"><div class="ttname"><a href="classLinkedHashMap.html#aa39f6b99d893dd183e93dd79086fdfd6">LinkedHashMap::list</a></div><div class="ttdeci">std::list&lt; entry &gt; list</div><div class="ttdef"><b>Definition:</b> linkedhashmap.hpp:33</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->


[40/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html
index a9d1a2f..8e2dd7f 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeHostPathIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess-members.html
index a37fb9c..2cdf320 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html#a42d5e2341e2391c25e310aac0ec13716">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html">mesos::internal::slave::VolumeImageIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html
index 5b828d8..ae90bc9 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeImageIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess-members.html
index 80378a7..892efb5 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html
index 29ff85a..ef99c73 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html
@@ -81,8 +81,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a858b6ce8b137c8f2b14f27ea0bd28f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a070e403ff6494657c5a185e87d0abd81"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a070e403ff6494657c5a185e87d0abd81">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a070e403ff6494657c5a185e87d0abd81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cadbb9a9d14aa3fb7997c48b44c078a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:a0cadbb9a9d14aa3fb7997c48b44c078a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823b24b8100090f2ebe3f7863ea088d9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a823b24b8100090f2ebe3f7863ea088d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a098095cb7af213cdf69e43874696089b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a098095cb7af213cdf69e43874696089b">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a098095cb7af213cdf69e43874696089b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad3bc4bd141f3fd97ab8237f76b821ab3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#ad3bc4bd141f3fd97ab8237f76b821ab3">cleanup</a> (const ContainerID &amp;containerId)</td></tr>
@@ -322,7 +322,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a0cadbb9a9d14aa3fb7997c48b44c078a"></a>
+<a class="anchor" id="a823b24b8100090f2ebe3f7863ea088d9"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -332,7 +332,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::VolumeSandboxPathIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -354,7 +354,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess-members.html
index 7f8ca6e..3c3873e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html#a974beb91927e6e1f92a27d7686d54d89">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html">mesos::internal::slave::VolumeSecretIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html
index 755291c..f634a4d 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1VolumeSecretIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess-members.html
index 51efbe9..2ca93a3 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">mesos::internal::slave::WindowsCpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">mesos::internal::slave::WindowsCpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html">mesos::internal::slave::WindowsCpuIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html
index 48cc55f..ef39c8e 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:af4b1ea81568c04ee32d5598aa4a61855"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a625997c8386c1918142d303185105f7e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a625997c8386c1918142d303185105f7e">supportsStandalone</a> () override</td></tr>
 <tr class="separator:a625997c8386c1918142d303185105f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5755ddab871fe5096a19dfd117ecf9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans) override</td></tr>
-<tr class="separator:af5755ddab871fe5096a19dfd117ecf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66a8a20877c3559b722116f93eeb76c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans) override</td></tr>
+<tr class="separator:a66a8a20877c3559b722116f93eeb76c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab460383cdd9f8b45eef2764c2aef36de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#ab460383cdd9f8b45eef2764c2aef36de">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig) override</td></tr>
 <tr class="separator:ab460383cdd9f8b45eef2764c2aef36de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a503f133dc40d594bb272989d00fa4b9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a503f133dc40d594bb272989d00fa4b9b">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) override</td></tr>
@@ -333,7 +333,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="af5755ddab871fe5096a19dfd117ecf9c"></a>
+<a class="anchor" id="a66a8a20877c3559b722116f93eeb76c1"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -343,7 +343,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::WindowsCpuIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>state</em>, </td>
         </tr>
         <tr>
@@ -365,7 +365,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess-members.html
index a3030bd..032d7d7 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess-members.html
@@ -86,7 +86,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html
index f89bf88..0998134 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html
@@ -86,8 +86,8 @@ Additional Inherited Members</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html">mesos::internal::slave::PosixFilesystemIsolatorProcess</a></td></tr>
 <tr class="memitem:add12ec059aa66055a96809e50d78f974 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#add12ec059aa66055a96809e50d78f974">~PosixFilesystemIsolatorProcess</a> ()</td></tr>
 <tr class="separator:add12ec059aa66055a96809e50d78f974 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8c9d395b93777db8969eec7e0e9f454 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:ad8c9d395b93777db8969eec7e0e9f454 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa545f4dcd149870e76a021fdceb296b inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:afa545f4dcd149870e76a021fdceb296b inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab14ce6d047f10978be388b598055fd40 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ab14ce6d047f10978be388b598055fd40">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:ab14ce6d047f10978be388b598055fd40 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a64b7958bfeba747a49d5be8a19dec8ad inherit pub_methods_classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#a64b7958bfeba747a49d5be8a19dec8ad">update</a> (const ContainerID &amp;containerId, const <a class="el" href="classmesos_1_1Resources.html">Resources</a> &amp;resources)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess-members.html
index 2c7f327..5d480ee 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">mesos::internal::slave::WindowsMemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">mesos::internal::slave::WindowsMemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const hashset&lt; ContainerID &gt; &amp;orphans) override</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">mesos::internal::slave::WindowsMemIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html
index 50b30bd..0caeeb7 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html
@@ -80,8 +80,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a3c461451fae95525f7adeaa4bfbd173d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acb70379485a6be8c6e58c337ca3dc1f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#acb70379485a6be8c6e58c337ca3dc1f7">supportsStandalone</a> () override</td></tr>
 <tr class="separator:acb70379485a6be8c6e58c337ca3dc1f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24c49ba3038764a7a2acef630526b9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans) override</td></tr>
-<tr class="separator:a24c49ba3038764a7a2acef630526b9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadb76fe69fa14167319d37b382886c41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;state, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans) override</td></tr>
+<tr class="separator:aadb76fe69fa14167319d37b382886c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a916fdf1cedcff91d334b582051e37966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a916fdf1cedcff91d334b582051e37966">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig) override</td></tr>
 <tr class="separator:a916fdf1cedcff91d334b582051e37966"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aad81d0700ab3197bcd3625d6f86d3ddb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aad81d0700ab3197bcd3625d6f86d3ddb">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid) override</td></tr>
@@ -333,7 +333,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="a24c49ba3038764a7a2acef630526b9c5"></a>
+<a class="anchor" id="aadb76fe69fa14167319d37b382886c41"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -343,7 +343,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname"><a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::WindowsMemIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>state</em>, </td>
         </tr>
         <tr>
@@ -365,7 +365,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess-members.html
index 3e69339..077b6ad 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess-members.html
@@ -84,29 +84,30 @@
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a369e81c7f2b5ac6314467f963320dde3">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a3a3635fd3f69c6cb59ebb429f5c5d893">self</a>() const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a1794edfd7812b89606b905a3481af673">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#afe51774549a2c508e758c2b4e50eccca">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a5e00961a6627f9bdd43d111080e1b6d2">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#ae2b8a2ac6b2c6485a672c0edecd6c82e">~XfsDiskIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess::recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">route</a>(const std::string &amp;name, const std::string &amp;realm, const Option&lt; std::string &gt; &amp;help, const AuthenticatedHttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a37cf86bbf94884960c041e081a34bee4">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;realm, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;, const Option&lt; http::authentication::Principal &gt; &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a3a3635fd3f69c6cb59ebb429f5c5d893">self</a>() const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">Self</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af90d581940120abfb787e46568e7a3af">send</a>(const UPID &amp;to, const std::string &amp;name, const char *data=nullptr, size_t length=0)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a72621d5c290fc558dcffb62b7d05635b">send</a>(const UPID &amp;to, std::string &amp;&amp;name)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#ab60d5a19d749f9f140b5ede6800549a6">send</a>(const UPID &amp;to, std::string &amp;&amp;name, std::string &amp;&amp;data)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a2accda04cb99a8337c501958ff85ce01">serve</a>(Event &amp;&amp;event)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a1e9980d5d873c695d4a1749971e18cd9">This</a> typedef</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a1794edfd7812b89606b905a3481af673">update</a>(const ContainerID &amp;containerId, const Resources &amp;resources)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#afe51774549a2c508e758c2b4e50eccca">usage</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a5e00961a6627f9bdd43d111080e1b6d2">watch</a>(const ContainerID &amp;containerId)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html#a9b310e99e6cef77273fd1cc403c871b1">~EventConsumer</a>()</td><td class="entry"><a class="el" href="structprocess_1_1EventConsumer.html">process::EventConsumer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1Process.html#a919f2834843f8620784c58aee7db2371">~Process</a>()</td><td class="entry"><a class="el" href="classprocess_1_1Process.html">process::Process&lt; MesosIsolatorProcess &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a20b6c6b8f5aff506a97ce6c4f91a29d3">~ProcessBase</a>()</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#ae2b8a2ac6b2c6485a672c0edecd6c82e">~XfsDiskIsolatorProcess</a>()</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html">mesos::internal::slave::XfsDiskIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html
index 092a238..dc632ad 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html
@@ -100,6 +100,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a8009c7782661b509933138479d3dbed5 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a> ()</td></tr>
 <tr class="separator:a039db4ff1eb303d8e8054959c1a3b63c inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7542c128af52b0fc7ffbf16767440c94 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; ContainerStatus &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a> (const ContainerID &amp;containerId)</td></tr>
@@ -388,8 +390,6 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="a3a3635fd3f69c6cb59ebb429f5c5d893"></a>


[30/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/hierarchy.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/hierarchy.html b/content/api/latest/c++/hierarchy.html
index ff5e48a..c47f29a 100644
--- a/content/api/latest/c++/hierarchy.html
+++ b/content/api/latest/c++/hierarchy.html
@@ -479,12 +479,12 @@
 <tr id="row_178_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; R &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_179_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; Res &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_180_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; size_t &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_181_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::list&lt; Nothing &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::list&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_183_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::list&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_185_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_181_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_183_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::vector&lt; Nothing &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::vector&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_185_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; std::vector&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_187_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Future.html" target="_self">process::Future&lt; zookeeper::Group::Membership &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_188_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classFutureResultAction.html" target="_self">FutureResultAction&lt; R, A &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_189_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_189_" class="arrow" onclick="toggleFolder('189_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html" target="_self">mesos::internal::slave::GarbageCollector</a></td><td class="desc"></td></tr>
@@ -980,10 +980,10 @@
 <tr id="row_588_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; R &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_589_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; Res &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_590_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; size_t &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_591_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::list&lt; process::Future&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_592_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::list&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_593_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_594_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_591_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::set&lt; zookeeper::Group::Membership &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_592_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::shared_ptr&lt; process::network::internal::SocketImpl &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_593_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::vector&lt; process::Future&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_594_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; std::vector&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_595_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1Promise.html" target="_self">process::Promise&lt; zookeeper::Group::Membership &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_596_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmesos_1_1internal_1_1cram__md5_1_1Property.html" target="_self">mesos::internal::cram_md5::Property</a></td><td class="desc"></td></tr>
 <tr id="row_597_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structProtocol.html" target="_self">Protocol&lt; Req, Res &gt;</a></td><td class="desc"></td></tr>
@@ -1443,15 +1443,15 @@
 <tr id="row_850_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structos_1_1UTSInfo.html" target="_self">os::UTSInfo</a></td><td class="desc"></td></tr>
 <tr id="row_851_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_851_" class="arrow" onclick="toggleFolder('851_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>uuid</b></td><td class="desc"></td></tr>
 <tr id="row_851_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structid_1_1UUID.html" target="_self">id::UUID</a></td><td class="desc"></td></tr>
-<tr id="row_852_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroups_1_1blkio_1_1Value.html" target="_self">cgroups::blkio::Value</a></td><td class="desc"></td></tr>
-<tr id="row_853_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structprocess_1_1TimeSeries_1_1Value.html" target="_self">process::TimeSeries&lt; T &gt;::Value</a></td><td class="desc"></td></tr>
+<tr id="row_852_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structprocess_1_1TimeSeries_1_1Value.html" target="_self">process::TimeSeries&lt; T &gt;::Value</a></td><td class="desc"></td></tr>
+<tr id="row_853_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroups_1_1blkio_1_1Value.html" target="_self">cgroups::blkio::Value</a></td><td class="desc"></td></tr>
 <tr id="row_854_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classJvm_1_1Variable.html" target="_self">Jvm::Variable&lt; T, name, signature &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_855_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmesos_1_1state_1_1Variable.html" target="_self">mesos::state::Variable</a></td><td class="desc"></td></tr>
 <tr id="row_856_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmesos_1_1state_1_1protobuf_1_1Variable.html" target="_self">mesos::state::protobuf::Variable&lt; T &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_857_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classJvm_1_1Variable.html" target="_self">Jvm::Variable&lt; org::apache::zookeeper::server::SessionTracker, ZOOKEEPERSERVER_SESSIONTRACKER, ZOOKEEPERSERVER_SESSIONTRACKER_SIGNATURE &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_858_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_858_" class="arrow" onclick="toggleFolder('858_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>Variant</b></td><td class="desc"></td></tr>
-<tr id="row_858_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structJSON_1_1Value.html" target="_self">JSON::Value</a></td><td class="desc"></td></tr>
-<tr id="row_859_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVariant.html" target="_self">Variant&lt; T, Ts &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_858_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVariant.html" target="_self">Variant&lt; T, Ts &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_859_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_859_" class="arrow" onclick="toggleFolder('859_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>Variant</b></td><td class="desc"></td></tr>
+<tr id="row_859_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structJSON_1_1Value.html" target="_self">JSON::Value</a></td><td class="desc"></td></tr>
 <tr id="row_860_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVariant.html" target="_self">Variant&lt; check::Command, check::Http, check::Tcp &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_861_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVariant.html" target="_self">Variant&lt; runtime::Plain, runtime::Docker, runtime::Nested &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_862_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_862_" class="arrow" onclick="toggleFolder('862_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVariant.html" target="_self">Variant&lt; unix::Address, inet4::Address, inet6::Address &gt;</a></td><td class="desc"></td></tr>
@@ -1468,8 +1468,8 @@
 <tr id="row_870_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classos_1_1WindowsFD.html" target="_self">os::WindowsFD</a></td><td class="desc"></td></tr>
 <tr id="row_871_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structprocess_1_1internal_1_1wrap.html" target="_self">process::internal::wrap&lt; T &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_872_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structprocess_1_1internal_1_1wrap_3_01Future_3_01X_01_4_01_4.html" target="_self">process::internal::wrap&lt; Future&lt; X &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_873_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmesos_1_1log_1_1Log_1_1Writer.html" target="_self">mesos::log::Log::Writer</a></td><td class="desc"></td></tr>
-<tr id="row_874_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1http_1_1Pipe_1_1Writer.html" target="_self">process::http::Pipe::Writer</a></td><td class="desc"></td></tr>
+<tr id="row_873_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1http_1_1Pipe_1_1Writer.html" target="_self">process::http::Pipe::Writer</a></td><td class="desc"></td></tr>
+<tr id="row_874_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmesos_1_1log_1_1Log_1_1Writer.html" target="_self">mesos::log::Log::Writer</a></td><td class="desc"></td></tr>
 <tr id="row_875_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classJSON_1_1WriterProxy.html" target="_self">JSON::WriterProxy</a></td><td class="desc"></td></tr>
 <tr id="row_876_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classprocess_1_1http_1_1header_1_1WWWAuthenticate.html" target="_self">process::http::header::WWWAuthenticate</a></td><td class="desc"></td></tr>
 <tr id="row_877_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classZooKeeper.html" target="_self">ZooKeeper</a></td><td class="desc"></td></tr>


[31/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_r.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_r.html b/content/api/latest/c++/functions_r.html
index 51a8ff4..026e055 100644
--- a/content/api/latest/c++/functions_r.html
+++ b/content/api/latest/c++/functions_r.html
@@ -207,7 +207,7 @@
 , <a class="el" href="classmesos_1_1internal_1_1OperationStatusUpdateManager.html#a872c6bc11f75b121b732394a9e874409">mesos::internal::OperationStatusUpdateManager</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1appc_1_1Cache.html#a25eba68d6d270ed5793a9631609c833d">mesos::internal::slave::appc::Cache</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1appc_1_1Store.html#a11eee2bc52c5ad8ba3bebe1bb06518cc">mesos::internal::slave::appc::Store</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">mesos::internal::slave::CgroupsIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">mesos::internal::slave::CgroupsIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ComposingContainerizer.html#a4385c48bb00bf0b9b6f5da2aa1215299">mesos::internal::slave::ComposingContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#afb384accdd6d431e1882cd861de3212d">mesos::internal::slave::Containerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DevicesSubsystemProcess.html#a9666b59888902409cb3b7637e1265c8f">mesos::internal::slave::DevicesSubsystemProcess</a>
@@ -215,26 +215,26 @@
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1docker_1_1Store.html#a78720df311df3e53298548fe5ca92bd4">mesos::internal::slave::docker::Store</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizer.html#a746949ba7f35257f364278a0067a2e8b">mesos::internal::slave::DockerContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerContainerizerProcess.html#adc19c004083425e8a167b82ce58c07c8">mesos::internal::slave::DockerContainerizerProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">mesos::internal::slave::DockerVolumeIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">mesos::internal::slave::DockerVolumeIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Flags.html#a336f57be144857f8acf7008281c5ddb5">mesos::internal::slave::Flags</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">mesos::internal::slave::IOSwitchboard</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a0a8e37767fb1a65c63bb31b26727697e">mesos::internal::slave::Launcher</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#a21e1c7227bc8aca8c6a5ab1bdd9ff4f8">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a699c488ac03f1df509d0e09bb021a239">mesos::internal::slave::LinuxLauncher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">mesos::internal::slave::IOSwitchboard</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Launcher.html#a93e8c38b7a4d497b37ce82d9108fedb4">mesos::internal::slave::Launcher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxFilesystemIsolatorProcess.html#ae177456bcfd551ddbc5060fab94cd980">mesos::internal::slave::LinuxFilesystemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1LinuxLauncher.html#a4a2f84c9e3c2b8e14882baf8522b34e9">mesos::internal::slave::LinuxLauncher</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a">mesos::internal::slave::MemorySubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429">mesos::internal::slave::MesosContainerizer</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a48372e34e21c4a5fe32cd117f32a8a0f">mesos::internal::slave::MesosContainerizerProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">mesos::internal::slave::MesosIsolator</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">mesos::internal::slave::MesosIsolator</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetClsSubsystemProcess.html#a2e73e78026e6b889d960ed8df4326e7e">mesos::internal::slave::NetClsSubsystemProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#a87f3c1ed9cf30ab3916404b66bc121dd">mesos::internal::slave::NetworkCniIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorProcess.html#af94c99e1b44722fd577aa9be6e97eb8e">mesos::internal::slave::NetworkCniIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1NetworkPortsIsolatorProcess.html#aa94976e4d3569e51ffdda49d942432d7">mesos::internal::slave::NetworkPortsIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#a836b9f7f519de28a2b2cb49634593117">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1NvidiaGpuIsolatorProcess.html#ac3aa20a594857d796fefff13181d5377">mesos::internal::slave::NvidiaGpuIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1PerfEventSubsystemProcess.html#a1e65dc17b49000ecb35bf83de8474e68">mesos::internal::slave::PerfEventSubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1PortMappingIsolatorProcess.html#a47eb4c076201fa2aafa5b5698b15e3fa">mesos::internal::slave::PortMappingIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#aa97ac1583b2abf4a2543dbbc9b19d1a1">mesos::internal::slave::PosixDiskIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#ad8c9d395b93777db8969eec7e0e9f454">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a7e3f98099d4bdd27753980b5aaea1b37">mesos::internal::slave::PosixIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixDiskIsolatorProcess.html#a472e41ec3bd5da4976f763a71262de24">mesos::internal::slave::PosixDiskIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixFilesystemIsolatorProcess.html#afa545f4dcd149870e76a021fdceb296b">mesos::internal::slave::PosixFilesystemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1PosixIsolatorProcess.html#a0fe8fd306e5dc57dd5c6dab7e9a811b1">mesos::internal::slave::PosixIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Provisioner.html#aa601942f24b550dfbc8ab63d3113d24c">mesos::internal::slave::Provisioner</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1ProvisionerProcess.html#ac2532fa2d0d8cad571b345748701ab51">mesos::internal::slave::ProvisionerProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa66f55ccd42a6aac647a50d78a3fb29c">mesos::internal::slave::Slave</a>
@@ -245,19 +245,19 @@
 , <a class="el" href="structmesos_1_1internal_1_1slave_1_1state_1_1SlaveState.html#aee41bf2e28323a2a475cdbaba977d4e3">mesos::internal::slave::state::SlaveState</a>
 , <a class="el" href="structmesos_1_1internal_1_1slave_1_1state_1_1TaskState.html#a2e49a328dccecaaef44bb547c79b1e0d">mesos::internal::slave::state::TaskState</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Store.html#a3941ada48ffb0de68285fee5c0104d42">mesos::internal::slave::Store</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a816fe950257e14454d13dff95f0f3e59">mesos::internal::slave::SubprocessLauncher</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubprocessLauncher.html#a12c673740bdf8db16b19e77e6d5e2804">mesos::internal::slave::SubprocessLauncher</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1Subsystem.html#a19549cadefab1e9160850e7313f118bf">mesos::internal::slave::Subsystem</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html#a408b22e397dda507a2a0f778a6327a1d">mesos::internal::slave::SubsystemProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html#a7c7ce88b8ff5596dc40ff9440071372c">mesos::internal::slave::TaskStatusUpdateManager</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a0cadbb9a9d14aa3fb7997c48b44c078a">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#af5755ddab871fe5096a19dfd117ecf9c">mesos::internal::slave::WindowsCpuIsolatorProcess</a>
-, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#a24c49ba3038764a7a2acef630526b9c5">mesos::internal::slave::WindowsMemIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1VolumeSandboxPathIsolatorProcess.html#a823b24b8100090f2ebe3f7863ea088d9">mesos::internal::slave::VolumeSandboxPathIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsCpuIsolatorProcess.html#a66a8a20877c3559b722116f93eeb76c1">mesos::internal::slave::WindowsCpuIsolatorProcess</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html#aadb76fe69fa14167319d37b382886c41">mesos::internal::slave::WindowsMemIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a369e81c7f2b5ac6314467f963320dde3">mesos::internal::slave::XfsDiskIsolatorProcess</a>
 , <a class="el" href="classmesos_1_1internal_1_1StatusUpdateManagerProcess.html#ab8a393d0453cc8174d71dad6f1e45d6f">mesos::internal::StatusUpdateManagerProcess&lt; IDType, CheckpointType, UpdateType &gt;</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1GenericRegistrar.html#ae302b4f022981d9a01b899c9499aa0d3">mesos::resource_provider::GenericRegistrar</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1MasterRegistrar.html#a31bceb895f04661c08b81344bea0aab2">mesos::resource_provider::MasterRegistrar</a>
 , <a class="el" href="classmesos_1_1resource__provider_1_1Registrar.html#a07ac739cc9d2e5950d1913a652a6a992">mesos::resource_provider::Registrar</a>
-, <a class="el" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">mesos::slave::Isolator</a>
+, <a class="el" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">mesos::slave::Isolator</a>
 , <a class="el" href="classprocess_1_1Future.html#ac02b40b5e590692acf71ea6add116e7b">process::Future&lt; T &gt;</a>
 </li>
 <li>recovered
@@ -845,10 +845,12 @@
 </li>
 <li>role
 : <a class="el" href="classmesos_1_1internal_1_1examples_1_1Flags.html#af84b1942374e87f678a3950ccc136980">mesos::internal::examples::Flags</a>
-, <a class="el" href="structmesos_1_1internal_1_1master_1_1Role.html#ae229ba3fea46929a5a6f5819e3c318cc">mesos::internal::master::Role</a>
 </li>
 <li>Role()
-: <a class="el" href="structmesos_1_1internal_1_1master_1_1Role.html#accf0d5437cf11da50c674ecd6c19c7ce">mesos::internal::master::Role</a>
+: <a class="el" href="structmesos_1_1internal_1_1master_1_1Role.html#a9e8163dd90e1dd48c752cbfa82660804">mesos::internal::master::Role</a>
+</li>
+<li>role
+: <a class="el" href="structmesos_1_1internal_1_1master_1_1Role.html#ae229ba3fea46929a5a6f5819e3c318cc">mesos::internal::master::Role</a>
 </li>
 <li>roles
 : <a class="el" href="structmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess_1_1Framework.html#a5f21b4205cea2fade829ab3afc82815d">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess::Framework</a>
@@ -874,7 +876,7 @@
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1Rootfs.html#a0d1eefd3053932eceda17475fae5f95c">mesos::internal::tests::Rootfs</a>
 </li>
 <li>route()
-: <a class="el" href="classprocess_1_1ProcessBase.html#a0bb721f72a1b9b517808149010de8b9a">process::ProcessBase</a>
+: <a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">process::ProcessBase</a>
 </li>
 <li>RouteOptions()
 : <a class="el" href="structprocess_1_1ProcessBase_1_1RouteOptions.html#a9c202f7f06a7cb90499e3365ce338475">process::ProcessBase::RouteOptions</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_s.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_s.html b/content/api/latest/c++/functions_s.html
index aaf1ecf..93347a1 100644
--- a/content/api/latest/c++/functions_s.html
+++ b/content/api/latest/c++/functions_s.html
@@ -178,22 +178,18 @@
 </li>
 <li>Self
 : <a class="el" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a15a7b927d5655f1e59ea1bd43d2fe8f9">mesos::internal::HttpConnectionProcess&lt; Call, Event &gt;</a>
+, <a class="el" href="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#ad210fa980c3c928d2adb439a932636d8">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess</a>
 </li>
 <li>self()
 : <a class="el" href="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#aea22e2f2117fcb1b9afff4996a50692c">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess</a>
-</li>
-<li>Self
-: <a class="el" href="classmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1HierarchicalAllocatorProcess.html#ad210fa980c3c928d2adb439a932636d8">mesos::internal::master::allocator::internal::HierarchicalAllocatorProcess</a>
-</li>
-<li>self()
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a3a3635fd3f69c6cb59ebb429f5c5d893">mesos::internal::slave::XfsDiskIsolatorProcess</a>
-, <a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">process::Process&lt; T &gt;</a>
+, <a class="el" href="classmesos_1_1internal_1_1slave_1_1XfsDiskIsolatorProcess.html#a3a3635fd3f69c6cb59ebb429f5c5d893">mesos::internal::slave::XfsDiskIsolatorProcess</a>
 </li>
 <li>Self
 : <a class="el" href="classprocess_1_1Process.html#a0ff94db0ab3ccea7ba6fd8cba68b6b9e">process::Process&lt; T &gt;</a>
 </li>
 <li>self()
-: <a class="el" href="classprocess_1_1ProcessBase.html#a7ff87364baa79991901b8d73dc5c5fca">process::ProcessBase</a>
+: <a class="el" href="classprocess_1_1Process.html#abef2d54388c5262af19b057b1a6eee8e">process::Process&lt; T &gt;</a>
+, <a class="el" href="classprocess_1_1ProcessBase.html#a7ff87364baa79991901b8d73dc5c5fca">process::ProcessBase</a>
 </li>
 <li>send()
 : <a class="el" href="classmesos_1_1internal_1_1HttpConnectionProcess.html#a07daef2f77a33b44451c4cf7d53ff627">mesos::internal::HttpConnectionProcess&lt; Call, Event &gt;</a>
@@ -739,12 +735,12 @@
 <li>StateMachine()
 : <a class="el" href="classprocess_1_1StateMachine.html#ae57900c329ba1669ccfb98c1a0160652">process::StateMachine&lt; State &gt;</a>
 </li>
-<li>statement()
-: <a class="el" href="classprocess_1_1ControlFlow.html#a34752a25284d038dc5d4d9e551424cfe">process::ControlFlow&lt; T &gt;</a>
-</li>
 <li>Statement
 : <a class="el" href="classprocess_1_1ControlFlow.html#af212ef291f73ba2e7b37586a577a794b">process::ControlFlow&lt; T &gt;</a>
 </li>
+<li>statement()
+: <a class="el" href="classprocess_1_1ControlFlow.html#a34752a25284d038dc5d4d9e551424cfe">process::ControlFlow&lt; T &gt;</a>
+</li>
 <li>StaticVariable()
 : <a class="el" href="classJvm_1_1StaticVariable.html#a4f72716c0683295c3ee73a05d3a914c2">Jvm::StaticVariable&lt; T, name, signature &gt;</a>
 </li>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_t.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_t.html b/content/api/latest/c++/functions_t.html
index 162de2d..fb3d027 100644
--- a/content/api/latest/c++/functions_t.html
+++ b/content/api/latest/c++/functions_t.html
@@ -421,13 +421,13 @@
 <li>type
 : <a class="el" href="structboost_1_1icl_1_1interval__bound__type_3_01Interval_3_01T_01_4_01_4.html#a1fb0c27f4ab926a92987cd26571c1cd9">boost::icl::interval_bound_type&lt; Interval&lt; T &gt; &gt;</a>
 , <a class="el" href="structboost_1_1icl_1_1interval__traits_3_01Interval_3_01T_01_4_01_4.html#a78dfbb0c4101084fe49212f1867c04d2">boost::icl::interval_traits&lt; Interval&lt; T &gt; &gt;</a>
-, <a class="el" href="structcgroups_1_1devices_1_1Entry_1_1Selector.html#ae7566a068a554a9727f32aa50f3eeb81">cgroups::devices::Entry::Selector</a>
 </li>
 <li>Type
 : <a class="el" href="structcgroups_1_1devices_1_1Entry_1_1Selector.html#a3901fb22702c5ae9ca80a4ea0093e8f4">cgroups::devices::Entry::Selector</a>
 </li>
 <li>type
-: <a class="el" href="structcpp14_1_1internal_1_1IntegerSequenceGen_3_01T_00_010_00_01Is_8_8_8_01_4.html#a5f00d8d117a878f2a44a2c0870905a20">cpp14::internal::IntegerSequenceGen&lt; T, 0, Is... &gt;</a>
+: <a class="el" href="structcgroups_1_1devices_1_1Entry_1_1Selector.html#ae7566a068a554a9727f32aa50f3eeb81">cgroups::devices::Entry::Selector</a>
+, <a class="el" href="structcpp14_1_1internal_1_1IntegerSequenceGen_3_01T_00_010_00_01Is_8_8_8_01_4.html#a5f00d8d117a878f2a44a2c0870905a20">cpp14::internal::IntegerSequenceGen&lt; T, 0, Is... &gt;</a>
 , <a class="el" href="structJSON_1_1Number.html#a2e9d12ef7b37989c7c1bf2b89dc31690">JSON::Number</a>
 </li>
 <li>Type

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_u.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_u.html b/content/api/latest/c++/functions_u.html
index 7d63221..cb9628c 100644
--- a/content/api/latest/c++/functions_u.html
+++ b/content/api/latest/c++/functions_u.html
@@ -161,7 +161,7 @@
 : <a class="el" href="classprocess_1_1Mutex.html#a3edf9d92fb6c54646f968ece8d50d30b">process::Mutex</a>
 </li>
 <li>unmocked____run()
-: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ab4891406639fb9b205492f5e24e89d24">mesos::internal::tests::MockSlave</a>
+: <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae39ae7d13fc1fd4dc53f7e330ae7eca6">mesos::internal::tests::MockSlave</a>
 </li>
 <li>unmocked___recover()
 : <a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html#ae3044d22a2b9dceb14da7da0a7fe6279">mesos::internal::tests::MockSlave</a>
@@ -433,7 +433,7 @@
 : <a class="el" href="structprocess_1_1http_1_1Request.html#aba3024fe3e1028d19f5fb4e92519cb56">process::http::Request</a>
 </li>
 <li>URL()
-: <a class="el" href="structprocess_1_1http_1_1URL.html#a6f6a9c959c9bb1519f1c29192aa4a407">process::http::URL</a>
+: <a class="el" href="structprocess_1_1http_1_1URL.html#a0405a5eae13705f0cfe7b78e2928bc5f">process::http::URL</a>
 </li>
 <li>us()
 : <a class="el" href="classDuration.html#ab4bc8981d3ac26e3880e57e19f7f7f92">Duration</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_v.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_v.html b/content/api/latest/c++/functions_v.html
index 6c29bb4..68840b8 100644
--- a/content/api/latest/c++/functions_v.html
+++ b/content/api/latest/c++/functions_v.html
@@ -207,10 +207,10 @@
 </li>
 <li>values()
 : <a class="el" href="classBoundedHashMap.html#a3230dcf13d6b5099fe3aba148573e7a9">BoundedHashMap&lt; Key, Value &gt;</a>
-, <a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
+, <a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">hashmap&lt; Key, Value, Hash, Equal &gt;</a>
 , <a class="el" href="structJSON_1_1Array.html#aed41033b7cd6a2c2e7dcc6f0c48a4563">JSON::Array</a>
 , <a class="el" href="structJSON_1_1Object.html#a41bbf967d564eb3f57c2bb5453a0e7af">JSON::Object</a>
-, <a class="el" href="classLinkedHashMap.html#a9963e9d9df74ec0f589efe7d81d74c30">LinkedHashMap&lt; Key, Value &gt;</a>
+, <a class="el" href="classLinkedHashMap.html#a255ccd94f6b65e44d3b76abc3a4254d9">LinkedHashMap&lt; Key, Value &gt;</a>
 , <a class="el" href="structmesos_1_1internal_1_1cram__md5_1_1Property.html#a7488b166d0cf470d2cfdd57f3296c594">mesos::internal::cram_md5::Property</a>
 </li>
 <li>ValueType

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_vars_p.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_vars_p.html b/content/api/latest/c++/functions_vars_p.html
index d1f9505..f2b232d 100644
--- a/content/api/latest/c++/functions_vars_p.html
+++ b/content/api/latest/c++/functions_vars_p.html
@@ -167,7 +167,7 @@
 : <a class="el" href="structmesos_1_1internal_1_1slave_1_1TaskStatusUpdateStream.html#a3ea3635479f2248ec2e0ec6100142f76">mesos::internal::slave::TaskStatusUpdateStream</a>
 </li>
 <li>pendingTaskGroups
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">mesos::internal::slave::Framework</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82">mesos::internal::slave::Framework</a>
 </li>
 <li>pendingTasks
 : <a class="el" href="structmesos_1_1internal_1_1master_1_1Framework.html#a146261f2447bec7776ebd06a80178d09">mesos::internal::master::Framework</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/functions_vars_q.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/functions_vars_q.html b/content/api/latest/c++/functions_vars_q.html
index 3c72d9a..2623564 100644
--- a/content/api/latest/c++/functions_vars_q.html
+++ b/content/api/latest/c++/functions_vars_q.html
@@ -99,7 +99,7 @@
 : <a class="el" href="structprocess_1_1http_1_1URL.html#af2d0454d281cfe79f382c0dbc91bc251">process::http::URL</a>
 </li>
 <li>queuedTaskGroups
-: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">mesos::internal::slave::Executor</a>
+: <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed">mesos::internal::slave::Executor</a>
 </li>
 <li>queuedTasks
 : <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">mesos::internal::slave::Executor</a>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/hashmap_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/hashmap_8hpp.html b/content/api/latest/c++/hashmap_8hpp.html
index cf4e158..3d28620 100644
--- a/content/api/latest/c++/hashmap_8hpp.html
+++ b/content/api/latest/c++/hashmap_8hpp.html
@@ -57,10 +57,10 @@
 <div class="contents">
 <div class="textblock"><code>#include &lt;functional&gt;</code><br />
 <code>#include &lt;iosfwd&gt;</code><br />
-<code>#include &lt;list&gt;</code><br />
 <code>#include &lt;map&gt;</code><br />
 <code>#include &lt;unordered_map&gt;</code><br />
 <code>#include &lt;utility&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &quot;<a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>&quot;</code><br />
 <code>#include &quot;<a class="el" href="hashset_8hpp_source.html">hashset.hpp</a>&quot;</code><br />
 <code>#include &quot;<a class="el" href="none_8hpp_source.html">none.hpp</a>&quot;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/hashmap_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/hashmap_8hpp_source.html b/content/api/latest/c++/hashmap_8hpp_source.html
index d2ebb91..aba80a4 100644
--- a/content/api/latest/c++/hashmap_8hpp_source.html
+++ b/content/api/latest/c++/hashmap_8hpp_source.html
@@ -52,7 +52,8 @@
 <div class="title">hashmap.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="hashmap_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//  http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</span
 ></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="lin
 e"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __STOUT_HASHMAP_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STOUT_HASHMAP_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span
 >&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="foreach_8hpp.html">foreach.hpp</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hashset_8hpp.html">hashset.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="none_8hpp.html">none.hpp</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &
 quot;<a class="code" href="option_8hpp.html">option.hpp</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Provides a hash map via &#39;std::unordered_map&#39;. We inherit from it to add</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// new functions as well as to provide better names for some of the</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// existing functions.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;          <span class="keyword">typename</span> Value,</div><div class="line"><
 a name="l00033"></a><span class="lineno">   33</span>&#160;          <span class="keyword">typename</span> Hash = <span class="keyword">typename</span> std::conditional&lt;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;            std::is_enum&lt;Key&gt;::value,</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;            <a class="code" href="structEnumClassHash.html">EnumClassHash</a>,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;            std::hash&lt;Key&gt;&gt;<a class="code" href="namespacemesos_1_1internal_1_1fs.html#a2343e2642db514496ba8380776487fba">::type</a>,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;          <span class="keyword">typename</span> Equal = std::equal_to&lt;Key&gt;&gt;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classhashmap.html">   38</a></span>&#160;<span class="
 keyword">class </span><a class="code" href="classhashmap.html">hashmap</a> : <span class="keyword">public</span> std::unordered_map&lt;Key, Value, Hash, Equal&gt;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="comment">// An explicit default constructor is needed so</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="comment">// &#39;const hashmap&lt;T&gt; map;&#39; is not an error.</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84">   43</a></span>&#160;  <a class="code" href="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84">hashmap</a>() {}</div><div class="line"><a name="l00044"
 ></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">// An implicit constructor for converting from a std::map.</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="comment">// TODO(benh): Allow any arbitrary type that supports &#39;begin()&#39; and</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// &#39;end()&#39; passed into the specified &#39;emplace&#39;?</span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classhashmap.html#aa476ed6fd38e1ce41c483d31b41f305b">   49</a></span>&#160;  <a class="code" href="classhashmap.html#aa476ed6fd38e1ce41c483d31b41f305b">hashmap</a>(<span class="keyword">const</span> std::map
 &lt;Key, Value&gt;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::reserve(map.size());</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> iterator = map.begin(); iterator != map.end(); ++iterator) {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      std::unordered_map&lt;Key, Value, Hash, Equal&gt;::emplace(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;          iterator-&gt;first,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</sp
 an>&#160;          iterator-&gt;second);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    }</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  }</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// An implicit constructor for converting from an r-value std::map.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// TODO(benh): Allow any arbitrary type that supports &#39;begin()&#39; and</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="comment">// &#39;end()&#39; passed into the specified &#39;insert&#39;?</span></div><div class="line"><a name
 ="l00064"></a><span class="lineno"><a class="line" href="classhashmap.html#a1ec44226a5228ef9104099166cc4a1af">   64</a></span>&#160;  <a class="code" href="classhashmap.html#a1ec44226a5228ef9104099166cc4a1af">hashmap</a>(std::map&lt;Key, Value&gt;&amp;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  {</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">// NOTE: We&#39;re using &#39;insert&#39; here with a move iterator in order</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">// to avoid copies because we know we have an r-value paramater.</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00069"></a><
 span class="lineno">   69</span>&#160;        std::make_move_iterator(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>.begin()),</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        std::make_move_iterator(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>.end()));</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="comment">// Allow simple construction via initializer list.</span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classhashmap.html#a721a01cb0a0abdc3686b195cb9600a95">   74</a></span>&#160;  <a class="code" href="classhashmap.html#a721a01cb0a0abdc3686b195cb9600a95">hashmap</a>(std::initializer_list&lt;std::pair
 &lt;Key, Value&gt;&gt; <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  {</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::reserve(<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.size());</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> iterator = <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.begin(); iterator != <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.end(); ++iterator) {</div><div class="line"><a name="l00079"
 ></a><span class="lineno">   79</span>&#160;      std::unordered_map&lt;Key, Value, Hash, Equal&gt;::emplace(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          iterator-&gt;first,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;          iterator-&gt;second);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    }</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="comment">// Checks whether this map contains a binding for a key.</span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">   86</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="clas
 shashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">return</span> std::unordered_map&lt;Key, Value, Hash, Equal&gt;::count(key) &gt; 0;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="comment">// Checks whether there exists a bound value in this map.</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classhashmap.html#a24c27ab2a2b4cf194473a0b4dabe8a9e">   92</a></span>&#160;  <span class="keywordtype">bool<
 /span> <a class="code" href="classhashmap.html#a24c27ab2a2b4cf194473a0b4dabe8a9e">containsValue</a>(<span class="keyword">const</span> Value&amp; v)<span class="keyword"> const</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="foreach_8hpp.html#a28670619e64a84270d76f07b0f6eb3b6">foreachvalue</a> (<span class="keyword">const</span> Value&amp; value, *<span class="keyword">this</span>) {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keywordflow">if</span> (value == v) {</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      }</div><div class="line"><a nam
 e="l00098"></a><span class="lineno">   98</span>&#160;    }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">// Inserts a key, value pair into the map replacing an old value</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// if the key is already present.</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">  104</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124"
 >put</a>(<span class="keyword">const</span> Key&amp; key, Value&amp;&amp; value)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::erase(key);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        std::pair&lt;Key, Value&gt;(key, std::move(value)));</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// Inserts a key, value pair into the map replacing an old value</span></div><div class="line"><a name="l00112"
 ></a><span class="lineno">  112</span>&#160;  <span class="comment">// if the key is already present.</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">  113</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(<span class="keyword">const</span> Key&amp; key, <span class="keyword">const</span> Value&amp; value)</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::erase(key);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        std::pair&lt;Key, Value&gt;
 (key, value));</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// Returns an Option for the binding to the key.</span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192c9a">  121</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;Value&gt;</a> <span class="keyword">get</span>(<span class="keyword">const</span> Key&amp; key) <span class="keyword">const</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  {</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keyword">auto</span> it = <a class="code" href="namespaceos.html#a965c9c19022c17c26fc5720f718e6c1a">std::unordered_m
 ap&lt;Key, Value, Hash, Equal&gt;::find</a>(key);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">if</span> (it == std::unordered_map&lt;Key, Value, Hash, Equal&gt;::end()) {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    }</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  }</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="comment">// Returns the set of keys in this map.</span></div><div class="line
 "><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="comment">// TODO(vinod/bmahler): Should return a list instead.</span></div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">  132</a></span>&#160;  <a class="code" href="classhashset.html">hashset&lt;Key&gt;</a> <a class="code" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">keys</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;Key&gt;</a> result;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> (<span class="keyword">const</span> Key&amp; key,
  *<span class="keyword">this</span>) {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      result.insert(key);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">// Returns the list of values in this map.</span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">  142</a></span>&#160;  std::list&lt;Value&gt; <a class="code" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">values</a>()<span class="keyword"> 
 const</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    std::list&lt;Value&gt; result;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="foreach_8hpp.html#a28670619e64a84270d76f07b0f6eb3b6">foreachvalue</a> (<span class="keyword">const</span> Value&amp; value, *<span class="keyword">this</span>) {</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      result.push_back(value);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  }</div><div class="line"><a name="l00150"></a><span clas
 s="lineno">  150</span>&#160;};</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> K, <span class="keyword">typename</span> V&gt;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="hashmap_8hpp.html#a9c94b6ec332534717bbc65377844a9fb">  154</a></span>&#160;std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, const hashmap&lt;K, V&gt;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keywordflow">return</span> stream &lt;&lt; <a class="code" href
 ="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;}</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#endif // __STOUT_HASHMAP_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<a href="hashmap_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//  http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</span
 ></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="lin
 e"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __STOUT_HASHMAP_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STOUT_HASHMAP_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">  
  20</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="foreach_8hpp.html">foreach.hpp</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hashset_8hpp.html">hashset.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="none_8hpp.html">none.hpp</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include
  &quot;<a class="code" href="option_8hpp.html">option.hpp</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Provides a hash map via &#39;std::unordered_map&#39;. We inherit from it to add</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// new functions as well as to provide better names for some of the</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// existing functions.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;          <span class="keyword">typename</span> Value,</div><div class="line"
 ><a name="l00033"></a><span class="lineno">   33</span>&#160;          <span class="keyword">typename</span> Hash = <span class="keyword">typename</span> std::conditional&lt;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;            std::is_enum&lt;Key&gt;::value,</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;            <a class="code" href="structEnumClassHash.html">EnumClassHash</a>,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;            std::hash&lt;Key&gt;&gt;<a class="code" href="namespacemesos_1_1internal_1_1fs.html#a2343e2642db514496ba8380776487fba">::type</a>,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;          <span class="keyword">typename</span> Equal = std::equal_to&lt;Key&gt;&gt;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classhashmap.html">   38</a></span>&#160;<span class
 ="keyword">class </span><a class="code" href="classhashmap.html">hashmap</a> : <span class="keyword">public</span> std::unordered_map&lt;Key, Value, Hash, Equal&gt;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="comment">// An explicit default constructor is needed so</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="comment">// &#39;const hashmap&lt;T&gt; map;&#39; is not an error.</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84">   43</a></span>&#160;  <a class="code" href="classhashmap.html#a350788fe2e70ba05fee66adbb5026d84">hashmap</a>() {}</div><div class="line"><a name="l0004
 4"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">// An implicit constructor for converting from a std::map.</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="comment">// TODO(benh): Allow any arbitrary type that supports &#39;begin()&#39; and</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// &#39;end()&#39; passed into the specified &#39;emplace&#39;?</span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classhashmap.html#aa476ed6fd38e1ce41c483d31b41f305b">   49</a></span>&#160;  <a class="code" href="classhashmap.html#aa476ed6fd38e1ce41c483d31b41f305b">hashmap</a>(<span class="keyword">const</span> std::m
 ap&lt;Key, Value&gt;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::reserve(map.size());</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> iterator = map.begin(); iterator != map.end(); ++iterator) {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      std::unordered_map&lt;Key, Value, Hash, Equal&gt;::emplace(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;          iterator-&gt;first,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</
 span>&#160;          iterator-&gt;second);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    }</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  }</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// An implicit constructor for converting from an r-value std::map.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// TODO(benh): Allow any arbitrary type that supports &#39;begin()&#39; and</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="comment">// &#39;end()&#39; passed into the specified &#39;insert&#39;?</span></div><div class="line"><a na
 me="l00064"></a><span class="lineno"><a class="line" href="classhashmap.html#a1ec44226a5228ef9104099166cc4a1af">   64</a></span>&#160;  <a class="code" href="classhashmap.html#a1ec44226a5228ef9104099166cc4a1af">hashmap</a>(std::map&lt;Key, Value&gt;&amp;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  {</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">// NOTE: We&#39;re using &#39;insert&#39; here with a move iterator in order</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">// to avoid copies because we know we have an r-value paramater.</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00069"></a
 ><span class="lineno">   69</span>&#160;        std::make_move_iterator(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>.begin()),</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        std::make_move_iterator(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>.end()));</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="comment">// Allow simple construction via initializer list.</span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classhashmap.html#a721a01cb0a0abdc3686b195cb9600a95">   74</a></span>&#160;  <a class="code" href="classhashmap.html#a721a01cb0a0abdc3686b195cb9600a95">hashmap</a>(std::initializer_list&lt;std::pa
 ir&lt;Key, Value&gt;&gt; <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  {</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::reserve(<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.size());</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> iterator = <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.begin(); iterator != <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">list</a>.end(); ++iterator) {</div><div class="line"><a name="l0007
 9"></a><span class="lineno">   79</span>&#160;      std::unordered_map&lt;Key, Value, Hash, Equal&gt;::emplace(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          iterator-&gt;first,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;          iterator-&gt;second);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    }</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="comment">// Checks whether this map contains a binding for a key.</span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">   86</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="cl
 asshashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">return</span> std::unordered_map&lt;Key, Value, Hash, Equal&gt;::count(key) &gt; 0;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="comment">// Checks whether there exists a bound value in this map.</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classhashmap.html#a24c27ab2a2b4cf194473a0b4dabe8a9e">   92</a></span>&#160;  <span class="keywordtype">boo
 l</span> <a class="code" href="classhashmap.html#a24c27ab2a2b4cf194473a0b4dabe8a9e">containsValue</a>(<span class="keyword">const</span> Value&amp; v)<span class="keyword"> const</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="foreach_8hpp.html#a28670619e64a84270d76f07b0f6eb3b6">foreachvalue</a> (<span class="keyword">const</span> Value&amp; value, *<span class="keyword">this</span>) {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keywordflow">if</span> (value == v) {</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      }</div><div class="line"><a n
 ame="l00098"></a><span class="lineno">   98</span>&#160;    }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">// Inserts a key, value pair into the map replacing an old value</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// if the key is already present.</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">  104</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f7712
 4">put</a>(<span class="keyword">const</span> Key&amp; key, Value&amp;&amp; value)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::erase(key);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        std::pair&lt;Key, Value&gt;(key, std::move(value)));</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// Inserts a key, value pair into the map replacing an old value</span></div><div class="line"><a name="l0011
 2"></a><span class="lineno">  112</span>&#160;  <span class="comment">// if the key is already present.</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">  113</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(<span class="keyword">const</span> Key&amp; key, <span class="keyword">const</span> Value&amp; value)</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::erase(key);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::unordered_map&lt;Key, Value, Hash, Equal&gt;::insert(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        std::pair&lt;Key, Value&g
 t;(key, value));</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// Returns an Option for the binding to the key.</span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classhashmap.html#a41f14039c11b5a1ab6c81add74192c9a">  121</a></span>&#160;  <a class="code" href="classOption.html">Option&lt;Value&gt;</a> <span class="keyword">get</span>(<span class="keyword">const</span> Key&amp; key) <span class="keyword">const</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  {</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keyword">auto</span> it = <a class="code" href="namespaceos.html#a965c9c19022c17c26fc5720f718e6c1a">std::unordered
 _map&lt;Key, Value, Hash, Equal&gt;::find</a>(key);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">if</span> (it == std::unordered_map&lt;Key, Value, Hash, Equal&gt;::end()) {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    }</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  }</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="comment">// Returns the set of keys in this map.</span></div><div class="li
 ne"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="comment">// TODO(vinod/bmahler): Should return a list instead.</span></div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">  132</a></span>&#160;  <a class="code" href="classhashset.html">hashset&lt;Key&gt;</a> <a class="code" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">keys</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;Key&gt;</a> result;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> (<span class="keyword">const</span> Key&amp; ke
 y, *<span class="keyword">this</span>) {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      result.insert(key);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">// Returns the list of values in this map.</span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">  142</a></span>&#160;  std::vector&lt;Value&gt; <a class="code" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">values</a>()<span class="keywor
 d"> const</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    std::vector&lt;Value&gt; result;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    result.reserve(<a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">std::unordered_map&lt;Key, Value, Hash, Equal&gt;::size</a>());</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <a class="code" href="foreach_8hpp.html#a28670619e64a84270d76f07b0f6eb3b6">foreachvalue</a> (<span class="keyword">const</span> Value&amp; value, *<span class="keyword">this</span>) {</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      result.push_back(value);</div><div class="line"><a n
 ame="l00149"></a><span class="lineno">  149</span>&#160;    }</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  }</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;};</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> K, <span class="keyword">typename</span> V&gt;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="hashmap_8hpp.html#a9c94b6ec332534717bbc65377844a9fb">  157</a></span>&#160;std
 ::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, const hashmap&lt;K, V&gt;&amp; <a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>)</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;{</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordflow">return</span> stream &lt;&lt; <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="namespacelambda.html#a6030d65051d5968ada4d2e528b2fcd57">map</a>);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;}</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#endif // __STOUT_HASHMAP_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a>
 </div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<div class="ttc" id="namespaceos_1_1stat_html_a7a116891923bc8b5d8c50f78da8657be"><div class="ttname"><a href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">os::stat::size</a></div><div class="ttdeci">Try&lt; Bytes &gt; size(const std::string &amp;path, const FollowSymlink follow=FollowSymlink::FOLLOW_SYMLINK)</div><div class="ttdef"><b>Definition:</b> stat.hpp:119</div></div>
 <div class="ttc" id="classhashmap_html_a1ec44226a5228ef9104099166cc4a1af"><div class="ttname"><a href="classhashmap.html#a1ec44226a5228ef9104099166cc4a1af">hashmap::hashmap</a></div><div class="ttdeci">hashmap(std::map&lt; Key, Value &gt; &amp;&amp;map)</div><div class="ttdef"><b>Definition:</b> hashmap.hpp:64</div></div>
 <div class="ttc" id="classhashmap_html_aa476ed6fd38e1ce41c483d31b41f305b"><div class="ttname"><a href="classhashmap.html#aa476ed6fd38e1ce41c483d31b41f305b">hashmap::hashmap</a></div><div class="ttdeci">hashmap(const std::map&lt; Key, Value &gt; &amp;map)</div><div class="ttdef"><b>Definition:</b> hashmap.hpp:49</div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset</a></div><div class="ttdef"><b>Definition:</b> hashset.hpp:53</div></div>
@@ -72,10 +73,10 @@
 <div class="ttc" id="hashset_8hpp_html"><div class="ttname"><a href="hashset_8hpp.html">hashset.hpp</a></div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1fs_html_a2343e2642db514496ba8380776487fba"><div class="ttname"><a href="namespacemesos_1_1internal_1_1fs.html#a2343e2642db514496ba8380776487fba">mesos::internal::fs::type</a></div><div class="ttdeci">Try&lt; uint32_t &gt; type(const std::string &amp;path)</div></div>
 <div class="ttc" id="classhashmap_html_a24c27ab2a2b4cf194473a0b4dabe8a9e"><div class="ttname"><a href="classhashmap.html#a24c27ab2a2b4cf194473a0b4dabe8a9e">hashmap::containsValue</a></div><div class="ttdeci">bool containsValue(const Value &amp;v) const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:92</div></div>
-<div class="ttc" id="classhashmap_html_a3e6a1fdf47dc2216eb8c0900e0bc969e"><div class="ttname"><a href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">hashmap::values</a></div><div class="ttdeci">std::list&lt; Value &gt; values() const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:142</div></div>
 <div class="ttc" id="namespacens_html_a28116b46e6543597a11733424cd1aa20"><div class="ttname"><a href="namespacens.html#a28116b46e6543597a11733424cd1aa20">ns::stringify</a></div><div class="ttdeci">std::string stringify(int flags)</div></div>
 <div class="ttc" id="classhashmap_html_afcc8b695facd0da04bb0d5b774e0d616"><div class="ttname"><a href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">hashmap::keys</a></div><div class="ttdeci">hashset&lt; Key &gt; keys() const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:132</div></div>
 <div class="ttc" id="classhashmap_html_ac142b3f8b73c76d5d4545bbd299007e5"><div class="ttname"><a href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">hashmap::contains</a></div><div class="ttdeci">bool contains(const Key &amp;key) const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:86</div></div>
+<div class="ttc" id="classhashmap_html_a21a6e0bdd1e079aec882826188899387"><div class="ttname"><a href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">hashmap::values</a></div><div class="ttdeci">std::vector&lt; Value &gt; values() const </div><div class="ttdef"><b>Definition:</b> hashmap.hpp:142</div></div>
 <div class="ttc" id="structEnumClassHash_html"><div class="ttname"><a href="structEnumClassHash.html">EnumClassHash</a></div><div class="ttdef"><b>Definition:</b> hashset.hpp:31</div></div>
 <div class="ttc" id="namespaceos_html_a965c9c19022c17c26fc5720f718e6c1a"><div class="ttname"><a href="namespaceos.html#a965c9c19022c17c26fc5720f718e6c1a">os::find</a></div><div class="ttdeci">Try&lt; std::list&lt; std::string &gt; &gt; find(const std::string &amp;directory, const std::string &amp;pattern)</div><div class="ttdef"><b>Definition:</b> find.hpp:37</div></div>
 </div><!-- fragment --></div><!-- contents -->


[25/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/libprocess_2include_2process_2gtest_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/libprocess_2include_2process_2gtest_8hpp_source.html b/content/api/latest/c++/libprocess_2include_2process_2gtest_8hpp_source.html
index 3333967..9c8e71d 100644
--- a/content/api/latest/c++/libprocess_2include_2process_2gtest_8hpp_source.html
+++ b/content/api/latest/c++/libprocess_2include_2process_2gtest_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">gtest.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="libprocess_2include_2process_2gtest_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160
 ;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</sp
 an>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_GTEST_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_GTEST_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;gtest/gtest.h&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libproc
 ess_2include_2process_2check_8hpp.html">process/check.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="clock_8hpp.html">process/clock.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gtest__constants_8hpp.html">process/gtest_constants.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;
 </div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="stout_2include_2stout_2gtest_8hpp.html">stout/gtest.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="os_8hpp.html">stout/os.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="stopwatch_8hpp.html">stout/stopwatch.hpp</a>&gt;</span
 ></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="strings_8hpp.html">stout/strings.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespaceprocess.html#a43d382ef5327b88a768684c3aa8e3580">   35</a></span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="namespaceprocess.html#a43d382ef5327b88a768684c3aa8e3580">READONLY_HTTP_AUTHENTICATION_REALM</a>[] = <span class="stringliteral">&quot;libprocess-readonly&quot;</span>;</div><div class="line"><a name="l00036"></a><
 span class="lineno"><a class="line" href="namespaceprocess.html#a5294b892bbfaf52600526bfb7b42bc41">   36</a></span>&#160;constexpr <span class="keywordtype">char</span> <a class="code" href="namespaceprocess.html#a5294b892bbfaf52600526bfb7b42bc41">READWRITE_HTTP_AUTHENTICATION_REALM</a>[] = <span class="stringliteral">&quot;libprocess-readwrite&quot;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// A simple test event listener that makes sure to resume the clock</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// after each test even if the previous test had a partial result</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// (i.e., an ASSERT_* failed).</span></div><div class="line"><a name="l00041"></a><span c
 lass="lineno"><a class="line" href="classprocess_1_1ClockTestEventListener.html">   41</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1ClockTestEventListener.html">ClockTestEventListener</a> : <span class="keyword">public</span> ::testing::EmptyTestEventListener</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="comment">// Returns the singleton instance of the listener.</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classprocess_1_1ClockTestEventListener.html#a684e54b986d32130f3b63e0f4cfa109e">   45</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1ClockTestEventListener.html">ClockTestEventListener</a>* <a
  class="code" href="classprocess_1_1ClockTestEventListener.html#a684e54b986d32130f3b63e0f4cfa109e">instance</a>()</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keyword">static</span> <a class="code" href="classprocess_1_1ClockTestEventListener.html">ClockTestEventListener</a>* listener = <span class="keyword">new</span> <a class="code" href="classprocess_1_1ClockTestEventListener.html">ClockTestEventListener</a>();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordflow">return</span> listener;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  }</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classprocess_1_1ClockTestEventListener.htm
 l#af42ab7cf085778cd46cd105657c387fd">   51</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1ClockTestEventListener.html#af42ab7cf085778cd46cd105657c387fd">OnTestEnd</a>(const ::testing::TestInfo&amp;)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  {</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classprocess_1_1Clock.html#aaba2025cf9ac7b264f113d6a3bf4364c">process::Clock::paused</a>()) {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <a class="code" href="classprocess_1_1Clock.html#ae3ea265163df2de286e185914265f538">process::Clock::resume</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  }</div><di
 v class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1ClockTestEventListener.html">ClockTestEventListener</a>() {}</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;};</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">// Returns true if the future becomes ready, discarded, or failed</span></
 div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// after the wait.</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">   67</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespaceprocess.html#a9244f063b856adbc7182f8620b01034c">await</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;T&gt;</a>&amp; future, <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</spa
 n>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classprocess_1_1Clock.html#aaba2025cf9ac7b264f113d6a3bf4364c">process::Clock::paused</a>()) {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">return</span> future.<a class="code" href="classprocess_1_1Future.html#a49b738b9755c0623a57e575ae2fb6431">await</a>(duration);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="comment">// If the clock is paused, no new timers will expire.</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="comment">// Future::await(duration) may hang forever because it depends on</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</sp
 an>&#160;  <span class="comment">// a timer to expire after &#39;duration&#39;. We instead ensure all</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="comment">// expired timers are flushed and check if the future is satisfied.</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classStopwatch.html">Stopwatch</a> stopwatch;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  stopwatch.<a class="code" href="classStopwatch.html#a6d01ecc80c92f1d5210cd9c3eb72883d">start</a>();</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Settle to make sure all expired timers are executed (not</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="comment">// 
 necessarily finished, see below).</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <a class="code" href="classprocess_1_1Clock.html#a4fd154ded1943f0b442bb88151adb758">process::Clock::settle</a>();</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordflow">while</span> (future.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>() &amp;&amp; stopwatch.<a class="code" href="classStopwatch.html#a2faf79fced7d3459a654114fabb2bf7b">elapsed</a>() &lt; duration) {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="comment">// Synchronous operations and asynchronous process::Process</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="comment">// operations should finis
 h when the above &#39;settle()&#39; returns.</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="comment">// Other types of async operations such as io::write() may not.</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="comment">// Therefore we wait the specified duration for it to complete.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="comment">// Note that nothing prevents the operations to schedule more</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">// timeouts for some time in the future. These timeouts will</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="comment">// never be executed due to the paused process::Clock. In this</span></div><div class="line"><a name="l00092"></a><span c
 lass="lineno">   92</span>&#160;    <span class="comment">// case we return after the stopwatch (system clock) runs out.</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="namespaceos.html#ab2b826c68a25af9e9ef47c570c36e137">os::sleep</a>(<a class="code" href="classMilliseconds.html">Milliseconds</a>(10));</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordflow">return</span> !future.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>();</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;}</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span 
 class="lineno">   99</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;} <span class="comment">// namespace process {</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ae87163d195db1ec27c22a6eff7855944">  104</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#ae87163d195db1ec27c22a6eff7855944">Await</a>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keyw
 ord">const</span> <span class="keywordtype">char</span>* expr,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="comment">// Unused string representation of &#39;duration&#39;.</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;T&gt;</a>&amp; actual,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;{</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85
 b1c9a726158f19fc">process::internal::await</a>(actual, duration)) {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;Failed to wait &quot;</span> &lt;&lt; duration &lt;&lt; <span class="stringliteral">&quot; for &quot;</span> &lt;&lt; expr;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  }</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  return ::testing::AssertionSuccess();</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;}</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</d
 iv><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">  120</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">AwaitAssertReady</a>(</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expr,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="comment">// Unused string representation of &#39;duration&#39;.</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</spa
 n>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;T&gt;</a>&amp; actual,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;{</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">process::internal::await</a>(actual, duration)) {</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;Failed to wait &quot;</span> &lt;&lt; duration &lt;&lt; <spa
 n class="stringliteral">&quot; for &quot;</span> &lt;&lt; expr;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; was discarded&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    
 return ::testing::AssertionFailure()</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot;).failure(): &quot;</span> &lt;&lt; actual.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>();</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  return ::testing::AssertionSuccess();</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;}</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 
  141</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#abcc52054812ecbc8937d533a3a5e4b72">  142</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#abcc52054812ecbc8937d533a3a5e4b72">AwaitAssertFailed</a>(</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expr,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="comment">// Unused string representation of &#39;duration&#39;.</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keyword">const</span> <a class="code" 
 href="classprocess_1_1Future.html">process::Future&lt;T&gt;</a>&amp; actual,</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;{</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">process::internal::await</a>(actual, duration)) {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;Failed to wait &quot;</span> &lt;&lt; duration &lt;&lt; <span class="stringliteral">&quot; for &quot;</span> &lt;&lt; expr;
 </div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; was discarded&quot;</span>;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a n
 ame="l00156"></a><span class="lineno">  156</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; is ready (&quot;</span> &lt;&lt; ::testing::PrintToString(actual.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  }</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  return ::testing::AssertionSuccess();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;}</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">templ
 ate</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a26834a54c3b5880d4d08ce10248a6a76">  164</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#a26834a54c3b5880d4d08ce10248a6a76">AwaitAssertDiscarded</a>(</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expr,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="comment">// Unused string representation of &#39;duration&#39;.</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">proces
 s::Future&lt;T&gt;</a>&amp; actual,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;{</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="namespaceprocess_1_1internal.html#a45915c2c6b7aea85b1c9a726158f19fc">process::internal::await</a>(actual, duration)) {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;Failed to wait &quot;</span> &lt;&lt; duration &lt;&lt; <span class="stringliteral">&quot; for &quot;</span> &lt;&lt; expr;</div><div class="line"><a name="l00173">
 </a><span class="lineno">  173</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot;).failure(): &quot;</span> &lt;&lt; actual.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>();</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line">
 <a name="l00177"></a><span class="lineno">  177</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; is ready (&quot;</span> &lt;&lt; ::testing::PrintToString(actual.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  }</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  return ::testing::AssertionSuccess();</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 
  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#abbdd1bedaaba6b89d1e2b6be542fea08">  186</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#abbdd1bedaaba6b89d1e2b6be542fea08">AwaitAssertAbandoned</a>(</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expr,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>*, <span class="comment">// Unused string representation of &#39;duration&#39;.</span></div><div class="line"><a name="l00189"></a><span c
 lass="lineno">  189</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;T&gt;</a>&amp; actual,</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;{</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;process::Latch&gt;</a> latch(<span class="keyword">new</span> <a class="code" href="classprocess_1_1Latch.html">process::Latch</a>());</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  actual.<a class="code" href="classprocess_1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</
 a>([=]() { latch-&gt;<a class="code" href="classprocess_1_1Latch.html#a8a13204c5c42c42633674afc8ad6e307">trigger</a>(); });</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  actual.<a class="code" href="classprocess_1_1Future.html#a3ef51b1f7e70860758e47c39ed7660f1">onAbandoned</a>([=]() { latch-&gt;<a class="code" href="classprocess_1_1Latch.html#a8a13204c5c42c42633674afc8ad6e307">trigger</a>(); });</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordflow">if</span> (!latch-&gt;<a class="code" href="classprocess_1_1Latch.html#a473b02733aa6a87f9ce3462d7a872414">await</a>(duration)) {</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      &lt;&lt; <span class="
 stringliteral">&quot;Failed to wait &quot;</span> &lt;&lt; duration &lt;&lt; <span class="stringliteral">&quot; for &quot;</span> &lt;&lt; expr;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; was discarded&quot;</span>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><d
 iv class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot; is ready (&quot;</span> &lt;&lt; ::testing::PrintToString(actual.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (actual.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    return ::testing::AssertionFailure()</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      &lt;&lt; <span class="string
 literal">&quot;(&quot;</span> &lt;&lt; expr &lt;&lt; <span class="stringliteral">&quot;).failure(): &quot;</span> &lt;&lt; actual.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a055321ef5a02c5ca1d39ca7bef7a1232">CHECK_ABANDONED</a>(actual);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  return ::testing::AssertionSuccess();</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;}</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</di
 v><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ab205b1878743f83a8a05550b5f3c5bf9">  218</a></span>&#160;::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#ab205b1878743f83a8a05550b5f3c5bf9">AwaitAssertEq</a>(</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expectedExpr,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* actualExpr,</div><div class="
 line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* durationExpr,</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keyword">const</span> T1&amp; expected,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;T2&gt;</a>&amp; actual,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;{</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  const ::testing::AssertionResult result =</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#
 160;    <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">AwaitAssertReady</a>(actualExpr, durationExpr, actual, duration);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="keywordflow">if</span> (result) {</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">if</span> (expected == actual.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) {</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      return ::testing::AssertionSuccess();</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      return ::testing::
 AssertionFailure()</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Value of: (&quot;</span> &lt;&lt; actualExpr &lt;&lt; <span class="stringliteral">&quot;).get()\n&quot;</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;  Actual: &quot;</span> &lt;&lt; ::testing::PrintToString(actual.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Expected: &quot;</span> &lt;&lt; expectedExpr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Which 
 is: &quot;</span> &lt;&lt; ::testing::PrintToString(expected);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    }</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  }</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;}</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#acdd3e6e5c6837721f52a3a6d304b1b79">  245</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_ABANDONED_FOR(actual, duration)            \</span
 ></div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT2(AwaitAssertAbandoned, actual, duration)</span></div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a3f6150cd5aaef785bcad9739756be5c7">  249</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_ABANDONED(actual)                  \</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_ABANDONED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class
 ="line"><a name="l00253"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ab44507ec855eadc392e07f0d88b0036d">  253</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_ABANDONED_FOR(actual, duration)            \</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT2(AwaitAssertAbandoned, actual, duration)</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#abd470b4485de71a0f3715b9b4fc8f1e1">  257</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_ABANDONED(actual)                  \</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span clas
 s="preprocessor">  AWAIT_EXPECT_ABANDONED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="comment">// TODO(bmahler): Differentiate EXPECT and ASSERT here.</span></div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#aa79eebaee3c25c346dbd9859dcd93430">  262</a></span>&#160;<span class="preprocessor">#define AWAIT_FOR(actual, duration)             \</span></div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT2(Await, actual, duration)</span></div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00265"></a><span
  class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a9d083eaa5502e467abd6ea70bb598a6b">  266</a></span>&#160;<span class="preprocessor">#define AWAIT(actual)                           \</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">  AWAIT_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a2fe993116fc29c248bbb68079599e7ad">  270</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_READY_FOR(actual, duration)                \</span></div><div class="line"><a name="l00271"></a><span class="lineno"
 >  271</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT2(AwaitAssertReady, actual, duration)</span></div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a9234cfbfd3990d65226ec6b2fd43a7eb">  274</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_READY(actual)              \</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_READY_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="libprocess
 _2include_2process_2gtest_8hpp.html#a980ee2c4f72accb34856f5e65c059de3">  278</a></span>&#160;<span class="preprocessor">#define AWAIT_READY_FOR(actual, duration)       \</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_READY_FOR(actual, duration)</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a269c59ba4bb2bec7ac8e361e45f52d43">  282</a></span>&#160;<span class="preprocessor">#define AWAIT_READY(actual)                     \</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_READY(actual)</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</
 span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a817d86cf5aef5251318f1f4dc4d1ebf1">  286</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_READY_FOR(actual, duration)                \</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT2(AwaitAssertReady, actual, duration)</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a493fc9b26a2e468253bd6a74422aa3e4">  290</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_READY(actual)              \</
 span></div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_READY_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ac7e9c77e7b17a55cc1a62faef79efd1c">  294</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_FAILED_FOR(actual, duration)               \</span></div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT2(AwaitAssertFailed, actual, duration)</span></div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div 
 class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a9bc2d2b659b67f65cf665cb59a378cf2">  298</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_FAILED(actual)             \</span></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_FAILED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#af5d4e4f50c51576f240d566ff2ea0dab">  302</a></span>&#160;<span class="preprocessor">#define AWAIT_FAILED_FOR(actual, duration)       \</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">
   AWAIT_ASSERT_FAILED_FOR(actual, duration)</span></div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ae7c454090325c802419b8058f115a608">  306</a></span>&#160;<span class="preprocessor">#define AWAIT_FAILED(actual)                    \</span></div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_FAILED(actual)</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a1a75fe7a536b6a90da996280aeb977e6">  310</a></span>&#160
 ;<span class="preprocessor">#define AWAIT_EXPECT_FAILED_FOR(actual, duration)               \</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT2(AwaitAssertFailed, actual, duration)</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a7c59f329f18b00f93d699f8b012d84f0">  314</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_FAILED(actual)             \</span></div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_FAILED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div clas
 s="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ae1414b4de76a246c16e3567c5a735929">  318</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_DISCARDED_FOR(actual, duration)            \</span></div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT2(AwaitAssertDiscarded, actual, duration)</span></div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a664b9fd29e76202fa1f882ade1fb9e2a">  322</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_DISCARDED(actual)                  \</span></div><di
 v class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_DISCARDED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a10d317d47bd048220251f2cc1ca3943e">  326</a></span>&#160;<span class="preprocessor">#define AWAIT_DISCARDED_FOR(actual, duration)       \</span></div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_DISCARDED_FOR(actual, duration)</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a>
 <span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ad504f5d939b324293643f51c21644a9c">  330</a></span>&#160;<span class="preprocessor">#define AWAIT_DISCARDED(actual)                 \</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_DISCARDED(actual)</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a1653fc4b67ed683d9f24d4c7d2c7666f">  334</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_DISCARDED_FOR(actual, duration)            \</span></div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT2(AwaitAssertDiscarded, actua
 l, duration)</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a5138d1a8c4ac35cf4ad183944aefec01">  338</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_DISCARDED(actual)                  \</span></div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_DISCARDED_FOR(actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#acc0ab806464751ae455ab55c58a96123">  342</a
 ></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_EQ_FOR(expected, actual, duration)                 \</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT3(AwaitAssertEq, expected, actual, duration)</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a5ce5cbbbaa1da97bdebabca5f1a95ed1">  346</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_EQ(expected, actual)       \</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ_FOR(expected, actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00348"></a><span class="lineno">
   348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ac89da09cf781d24bbe4362767c4daebd">  350</a></span>&#160;<span class="preprocessor">#define AWAIT_EQ_FOR(expected, actual, duration)              \</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ_FOR(expected, actual, duration)</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a1b042ae706b6262f7a92a5561152cc12">  354</a></span>&#160;<span class="preprocessor">#define AWAIT_EQ(expected, actual)              \</spa
 n></div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ(expected, actual)</span></div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#abc01cb87bb25acc3a0de243bb38aa346">  358</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_EQ_FOR(expected, actual, duration)                 \</span></div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT3(AwaitAssertEq, expected, actual, duration)</span></div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div><div class="line"><a
  name="l00362"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a17289448d833084e6d5a68f323a20df8">  362</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_EQ(expected, actual)               \</span></div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_EQ_FOR(expected, actual, process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#acd495f9f3fac39bad83d0a060ec3ed4d">  366</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_TRUE_FOR(actual, duration)                 \</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="
 preprocessor">  AWAIT_ASSERT_EQ_FOR(true, actual, duration)</span></div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a4e2fc5d6dfcfaebf7b31235409a8e5c8">  370</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_TRUE(actual)       \</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ(true, actual)</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a7d0ecca9a41548b0b5e427c0a375484c">  374</a></
 span>&#160;<span class="preprocessor">#define AWAIT_TRUE_FOR(actual, duration)                 \</span></div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_TRUE_FOR(actual, duration)</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ac0c0dec75dcff1cbb55da05433f068f2">  378</a></span>&#160;<span class="preprocessor">#define AWAIT_TRUE(actual)       \</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_TRUE(actual)</span></div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&
 #160;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ac07650599712c8d2007d4a32d3ec4a7e">  382</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_TRUE_FOR(actual, duration)               \</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_EQ_FOR(true, actual, duration)</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a673b77103d08c5fe3ef40355c14e32e0">  386</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_TRUE(actual)               \</span></div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="pr
 eprocessor">  AWAIT_EXPECT_EQ(true, actual)</span></div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a9f8587209089eed3f7b4b5ed51ca2e62">  390</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_FALSE_FOR(actual, duration)                 \</span></div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ_FOR(false, actual, duration)</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a334290cfd1f14798df30b
 949f858b765">  394</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_FALSE(actual)       \</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_EQ(false, actual)</span></div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a00a12a2fb32c39c55c3f6ff00a86bfa9">  398</a></span>&#160;<span class="preprocessor">#define AWAIT_FALSE_FOR(actual, duration)                 \</span></div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_FALSE_FOR(actual, duration)</span></div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00401"
 ></a><span class="lineno">  401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ad35aef16b1190002e6fff76ae56625b0">  402</a></span>&#160;<span class="preprocessor">#define AWAIT_FALSE(actual)       \</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_FALSE(actual)</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a78e0fbf163141f783afd837d9de8cf69">  406</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_FALSE_FOR(actual, duration)               \</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span 
 class="preprocessor">  AWAIT_EXPECT_EQ_FOR(false, actual, duration)</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#aeda1cf228f7a51ed6dcf8c01f38ff88b">  410</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_FALSE(actual)               \</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_EQ(false, actual)</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a7cab36377d5d8de6c4a6c153500
 1529b">  414</a></span>&#160;inline ::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#a7cab36377d5d8de6c4a6c1535001529b">AwaitAssertResponseStatusEq</a>(</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expectedExpr,</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* actualExpr,</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* durationExpr,</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keyword">const</span> std::string&amp; expected,</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keyword">const</span> <a c
 lass="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a>&amp; actual,</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;{</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  const ::testing::AssertionResult result =</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">AwaitAssertReady</a>(actualExpr, durationExpr, actual, duration);</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <span class="keywordflow">if</span> (result) {</div><div 
 class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordflow">if</span> (expected == actual-&gt;<a class="code" href="structprocess_1_1http_1_1Response.html#a8fcbd2073ace160af24a9ee531cb4378">status</a>) {</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;      return ::testing::AssertionSuccess();</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;      return ::testing::AssertionFailure()</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Value of: (&quot;</span> &lt;&lt; actualExpr &lt;&lt; <span class="stringliteral">&quot;)-&gt;status\n&quot;</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;             &lt;&lt; <span cl
 ass="stringliteral">&quot;  Actual: &quot;</span> &lt;&lt; ::testing::PrintToString(actual-&gt;<a class="code" href="structprocess_1_1http_1_1Response.html#a8fcbd2073ace160af24a9ee531cb4378">status</a>) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Expected: &quot;</span> &lt;&lt; expectedExpr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Which is: &quot;</span> &lt;&lt; ::testing::PrintToString(expected) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;    Body: &quot;</span> &lt;&lt; ::testing::PrintToString(actual-&gt;<a class="code" h
 ref="structprocess_1_1http_1_1Response.html#a5f6d23dd77e1eeb0737dc728e0109905">body</a>);</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    }</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  }</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;}</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a8360117c76d7bf10325a9605196274ac">  442</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_RESPONSE_STATUS_EQ_FOR(
 expected, actual, duration) \</span></div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT3(AwaitAssertResponseStatusEq, expected, actual, duration)</span></div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#aafe2c13b1f941ae3cde30f0c27941af4">  446</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_RESPONSE_STATUS_EQ(expected, actual) \</span></div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_RESPONSE_STATUS_EQ_FOR(                    \</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">      expected,          
                                  \</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor">      actual,                                             \</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">      process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a12c08298a562ecbf9a8a7ac572913729">  453</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_RESPONSE_STATUS_EQ_FOR(expected, actual, duration) \</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT3(AwaitAssertResponseStatusEq,
  expected, actual, duration)</span></div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a8690a95c0c8895f8c951c30b42be5b40">  457</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_RESPONSE_STATUS_EQ(expected, actual) \</span></div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_RESPONSE_STATUS_EQ_FOR(                    \</span></div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">      expected,                                           \</span></div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">      actual,                                
              \</span></div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">      process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ad87911bc1359b66cd739b1c0a53b8f34">  464</a></span>&#160;inline ::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#ad87911bc1359b66cd739b1c0a53b8f34">AwaitAssertResponseBodyEq</a>(</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expectedExpr,</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keyword">const</span> 
 <span class="keywordtype">char</span>* actualExpr,</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* durationExpr,</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keyword">const</span> std::string&amp; expected,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a>&amp; actual,</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  const ::testing::Assert
 ionResult result =</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">AwaitAssertReady</a>(actualExpr, durationExpr, actual, duration);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  <span class="keywordflow">if</span> (result) {</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keywordflow">if</span> (expected == actual-&gt;<a class="code" href="structprocess_1_1http_1_1Response.html#a5f6d23dd77e1eeb0737dc728e0109905">body</a>) {</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      return ::testing::AssertionSuccess();</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    } <span class="keywordflow">else</spa
 n> {</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      return ::testing::AssertionFailure()</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Value of: (&quot;</span> &lt;&lt; actualExpr &lt;&lt; <span class="stringliteral">&quot;)-&gt;body\n&quot;</span></div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;  Actual: &quot;</span> &lt;&lt; ::testing::PrintToString(actual-&gt;<a class="code" href="structprocess_1_1http_1_1Response.html#a5f6d23dd77e1eeb0737dc728e0109905">body</a>) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Expected: &quot;</span> &lt;&lt; expectedExpr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</sp
 an></div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;             &lt;&lt; <span class="stringliteral">&quot;Which is: &quot;</span> &lt;&lt; ::testing::PrintToString(expected);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    }</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  }</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;}</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a16985
 35c819f00ff6a783c07d19a1332">  491</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_RESPONSE_BODY_EQ_FOR(expected, actual, duration)   \</span></div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">  ASSERT_PRED_FORMAT3(AwaitAssertResponseBodyEq, expected, actual, duration)</span></div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a0d90099ca479b2d6ce3aed3b3b5f7518">  495</a></span>&#160;<span class="preprocessor">#define AWAIT_ASSERT_RESPONSE_BODY_EQ(expected, actual) \</span></div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">  AWAIT_ASSERT_RESPONSE_BODY_EQ_FOR(                    \</span></div><div class="li
 ne"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor">      expected,                                         \</span></div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">      actual,                                           \</span></div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor">      process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#a6394162db85862c3fba75b315735f1ec">  502</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_RESPONSE_BODY_EQ_FOR(expected, actual, duration)   \</span></div><div class="line"><a name="l00503"></a><spa
 n class="lineno">  503</span>&#160;<span class="preprocessor">  EXPECT_PRED_FORMAT3(AwaitAssertResponseBodyEq, expected, actual, duration)</span></div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div><div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#ae6673dc23acc4becfd901e09fa45a3b4">  506</a></span>&#160;<span class="preprocessor">#define AWAIT_EXPECT_RESPONSE_BODY_EQ(expected, actual) \</span></div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">  AWAIT_EXPECT_RESPONSE_BODY_EQ_FOR(                    \</span></div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">      expected,                                         \</span></div><div class="line"><a name="l00509"></a><span c
 lass="lineno">  509</span>&#160;<span class="preprocessor">      actual,                                           \</span></div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">      process::TEST_AWAIT_TIMEOUT)</span></div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2gtest_8hpp.html#af3cdf36439d5c86fab6be3bda22d8ccd">  513</a></span>&#160;inline ::testing::AssertionResult <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af3cdf36439d5c86fab6be3bda22d8ccd">AwaitAssertResponseHeaderEq</a>(</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* expectedExpr,</div><div class="l
 ine"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* keyExpr,</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* actualExpr,</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* durationExpr,</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <span class="keyword">const</span> std::string&amp; expected,</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="keyword">const</span> std::string&amp; key,</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::htt
 p::Response&gt;</a>&amp; actual,</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; duration)</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;{</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  const ::testing::AssertionResult result =</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <a class="code" href="libprocess_2include_2process_2gtest_8hpp.html#af5232d02c562e977285d52228e29aaa9">AwaitAssertReady</a>(actualExpr, durationExpr, actual, duration);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <span class="keywordflow">if</span> (result) {</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <
 span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> value = actual-&gt;<a class="code" href="structprocess_1_1http_1_1Response.html#ae463c5c7a083aea98a89cf9b675b59ab">headers</a>.<a class="code" href="classprocess_1_1http_1_1Headers.html#ace314043b5f44f854097d321246a26c0">get</a>(key);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    <span class="keywordflow">if</span> (value.<a class="code" href="classOption.html#a06eab791122ebc1f8af4ad310e5e7d7e">isNone</a>()) {</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;      return ::testing::AssertionFailure()</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Response does not contain header &#39;&quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00531"></a><span 
 class="lineno">  531</span>&#160;    } <span class="keywordflow">else</span

<TRUNCATED>

[14/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp_source.html b/content/api/latest/c++/slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp_source.html
index 245ae51..4886975 100644
--- a/content/api/latest/c++/slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp_source.html
+++ b/content/api/latest/c++/slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">cgroups.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div
 ><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   
 12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __CGROUPS_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __CGR
 OUPS_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp
 </a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="multihashmap_8hpp.html">stout/multihashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="pre
 processor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&
 #160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="subsystem_8hpp.html">slave/containerizer/mesos/isolators/cgroups/subsystem.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span c
 lass="comment">// This isolator manages all cgroups subsystems for containers, and delegate</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// most operations on cgroups subsystem to specific `Subsystem` class.</span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">   46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">CgroupsIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></
 a><span class="lineno">   49</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a317ae56d23f2c553a8a0c33d3f5b2a47">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a73eb421d6a27ed4226688e1da884385a">~CgroupsIsolatorProcess</a>();</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class
 ="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#abc18c8ede13ce1178d3cc54555082aca">supportsNesting</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46">supportsStandalone</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">recover</a>(</div><div class="line"><a name="l00057"></a><span class="li
 neno">   57</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">prepare</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"></a
 ><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967">isolate</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00067"></a><span class="lineno">   67<
 /span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab563105735f461c2a54a31c965c8c276">watch</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#aea11a2c309763256f2454ba745991dce">update</a>(</div><div class="line"><a name="l00072">
 </a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a3775b02006ba335eb942fe4bad06315a">usage</a>(</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</di
 v><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a611253a8523cd7f23cd58f059556f7dd">status</a>(</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a083b4d2aea3836ecf9e029438e50c8e6">cleanup</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82</
 span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    Info(<span class="keyword">const</span> ContainerID&amp; _containerId, <span class="keyword">const</span> std::string&amp; _cgroup)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      : containerId(_containerId), <a class="code" href="namespacecgroups_1_1named.html#a90339a144714dee1c97f9e34553ace0e">cgroup</a>(_cgroup) {}</div><div class="line"><a name="l00089"></a><spa
 n class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">const</span> ContainerID containerId;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="namespacecgroups_1_1named.html#a90339a144714dee1c97f9e34553ace0e">cgroup</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="comment">// This promise will complete if a container is impacted by a resource</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="comment">// limitation and should be terminated.</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promi
 se&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">// This `hashset` stores the name of subsystems which are recovered</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="comment">// or prepared for the container.</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;std::string&gt;</a> subsystems;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  };</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">Cgrou
 psIsolatorProcess</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; _hierarchies,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmultihashmap.html">multihashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Subsystem&gt;</a>&gt;&amp;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        _subsystems);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a
 ><span class="lineno">  108</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _recover(</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __recover(</div><div class="line"><a name="l00113"></a><sp
 an class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; unknownOrphans,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> ___recover(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00118"></a><span class="lineno">  118<
 /span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> ____recover(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;std::string&gt;</a>&amp; recoveredSubsystems,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div 
 class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l001
 29"></a><span class="lineno">  129</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _isolate(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">void</span> _watch(</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="c
 lassprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>&amp; future);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _update(</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a nam
 e="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __cleanup(</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <span class="keyword">const
 </span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="comment">// Map from subsystem name to hierarchy path.</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a> hierarchies;</div><div class="line"><a name="l00151"></a><span class="lin
 eno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="comment">// We map hierarchy path and `Subsystem` in subsystems. Same hierarchy may</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="comment">// map to multiple Subsystems. For example, our cgroups hierarchies may</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="comment">// mount like below in the machine:</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">//   /cgroup/cpu,cpuacct -&gt; cpu</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="comment">//   /cgroup/cpu,cpuacct -&gt; cpuacct</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="comment">//   /cgroup/memory      -&gt; memory</
 span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">// As we see, subsystem &#39;cpu&#39; and &#39;cpuacct&#39; are co-mounted at</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// &#39;/cgroup/cpu,cpuacct&#39;.</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <a class="code" href="classmultihashmap.html">multihashmap&lt;std::string, process::Owned&lt;Subsystem&gt;</a>&gt; subsystems;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="comment">// Store cgroups associated information for containers.</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; 
 infos;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;};</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#endif // __CGROUPS_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_aea11a2c309763256f2454ba745991dce"><div class="ttname"><a href="classmesos_1_1internal_
 1_1slave_1_1CgroupsIsolatorProcess.html#aea11a2c309763256f2454ba745991dce">mesos::internal::slave::CgroupsIsolatorProcess::update</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; update(const ContainerID &amp;containerId, const Resources &amp;resources)</div></div>
+<a href="slave_2containerizer_2mesos_2isolators_2cgroups_2cgroups_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div
 ><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   
 12</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __CGROUPS_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __CGR
 OUPS_ISOLATOR_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp
 </a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="multihashmap_8hpp.html">stout/multihashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="pre
 processor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&
 #160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="subsystem_8hpp.html">slave/containerizer/mesos/isolators/cgroups/subsystem.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span c
 lass="comment">// This isolator manages all cgroups subsystems for containers, and delegate</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// most operations on cgroups subsystem to specific `Subsystem` class.</span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">   46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">CgroupsIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></
 a><span class="lineno">   49</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;mesos::slave::Isolator*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a317ae56d23f2c553a8a0c33d3f5b2a47">create</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a73eb421d6a27ed4226688e1da884385a">~CgroupsIsolatorProcess</a>();</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class
 ="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#abc18c8ede13ce1178d3cc54555082aca">supportsNesting</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46">supportsStandalone</a>();</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">recover</a>(</div><div class="line"><a name="l00057"></a><span class="li
 neno">   57</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">prepare</a>(</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00062"><
 /a><span class="lineno">   62</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967">isolate</a>(</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00067"></a><span class="lineno">   6
 7</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab563105735f461c2a54a31c965c8c276">watch</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#aea11a2c309763256f2454ba745991dce">update</a>(</div><div class="line"><a name="l00072
 "></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a3775b02006ba335eb942fe4bad06315a">usage</a>(</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</
 div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a611253a8523cd7f23cd58f059556f7dd">status</a>(</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a083b4d2aea3836ecf9e029438e50c8e6">cleanup</a>(</div><div class="line"><a name="l00082"></a><span class="lineno">   82
 </span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    Info(<span class="keyword">const</span> ContainerID&amp; _containerId, <span class="keyword">const</span> std::string&amp; _cgroup)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      : containerId(_containerId), <a class="code" href="namespacecgroups_1_1named.html#a90339a144714dee1c97f9e34553ace0e">cgroup</a>(_cgroup) {}</div><div class="line"><a name="l00089"></a><s
 pan class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">const</span> ContainerID containerId;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">const</span> std::string <a class="code" href="namespacecgroups_1_1named.html#a90339a144714dee1c97f9e34553ace0e">cgroup</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="comment">// This promise will complete if a container is impacted by a resource</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="comment">// limitation and should be terminated.</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Pro
 mise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">// This `hashset` stores the name of subsystems which are recovered</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="comment">// or prepared for the container.</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <a class="code" href="classhashset.html">hashset&lt;std::string&gt;</a> subsystems;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  };</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">Cgr
 oupsIsolatorProcess</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a>&amp; _hierarchies,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmultihashmap.html">multihashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Subsystem&gt;</a>&gt;&amp;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        _subsystems);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"><
 /a><span class="lineno">  108</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _recover(</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __recover(</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="cod
 e" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; unknownOrphans,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> ___recover(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a
 > ____recover(</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;std::string&gt;</a>&amp; recoveredSubsystems,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; _prepare(</div><div class="line"><a name="l00125"></a><span class="lineno
 ">  125</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _isolate(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;<
 /a>&gt;&amp; futures);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">void</span> _watch(</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>&amp; future);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _update(</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <s
 pan class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _cleanup(</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <a class="co
 de" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __cleanup(</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> flags;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="comment">// Map from subsystem name to hie
 rarchy path.</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, std::string&gt;</a> hierarchies;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="comment">// We map hierarchy path and `Subsystem` in subsystems. Same hierarchy may</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="comment">// map to multiple Subsystems. For example, our cgroups hierarchies may</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="comment">// mount like below in the machine:</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">//   /cgroup/cpu,cpuacct -&gt; cpu</span></div><div class="line"><a name="l001
 56"></a><span class="lineno">  156</span>&#160;  <span class="comment">//   /cgroup/cpu,cpuacct -&gt; cpuacct</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="comment">//   /cgroup/memory      -&gt; memory</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">// As we see, subsystem &#39;cpu&#39; and &#39;cpuacct&#39; are co-mounted at</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// &#39;/cgroup/cpu,cpuacct&#39;.</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <a class="code" href="classmultihashmap.html">multihashmap&lt;std::string, process::Owned&lt;Subsystem&gt;</a>&gt; subsystems;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span c
 lass="comment">// Store cgroups associated information for containers.</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;};</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">
   170</span>&#160;<span class="preprocessor">#endif // __CGROUPS_ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_aea11a2c309763256f2454ba745991dce"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#aea11a2c309763256f2454ba745991dce">mesos::internal::slave::CgroupsIsolatorProcess::update</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; update(const ContainerID &amp;containerId, const Resources &amp;resources)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_a083b4d2aea3836ecf9e029438e50c8e6"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a083b4d2aea3836ecf9e029438e50c8e6">mesos::internal::slave::CgroupsIsolatorProcess::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_ab563105735f461c2a54a31c965c8c276"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab563105735f461c2a54a31c965c8c276">mesos::internal::slave::CgroupsIsolatorProcess::watch</a></div><div class="ttdeci">virtual process::Future&lt; mesos::slave::ContainerLimitation &gt; watch(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="resources_8hpp_html"><div class="ttname"><a href="resources_8hpp.html">resources.hpp</a></div></div>
@@ -75,9 +75,8 @@
 <div class="ttc" id="namespacecgroups_1_1named_html_a90339a144714dee1c97f9e34553ace0e"><div class="ttname"><a href="namespacecgroups_1_1named.html#a90339a144714dee1c97f9e34553ace0e">cgroups::named::cgroup</a></div><div class="ttdeci">Result&lt; std::string &gt; cgroup(const std::string &amp;hierarchyName, pid_t pid)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:80</div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_ab24786a8441e1550e4f007c2aa2a958e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">mesos::internal::slave::CgroupsIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_a89675b3cc1907054e4787f9967d49c58"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">mesos::internal::slave::CgroupsIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess_html_a3775b02006ba335eb942fe4bad06315a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a3775b02006ba335eb942fe4bad06315a">mesos::internal::slave::CgroupsIsolatorProcess::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp.html b/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp.html
index 99f8ecd..ea2ec57 100644
--- a/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp.html
+++ b/content/api/latest/c++/slave_2containerizer_2mesos_2launcher_8hpp.html
@@ -56,9 +56,9 @@
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br />
-<code>#include &lt;list&gt;</code><br />
 <code>#include &lt;map&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="include_2mesos_2mesos_8hpp_source.html">mesos/mesos.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="include_2mesos_2slave_2isolator_8hpp_source.html">mesos/slave/isolator.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />


[10/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2log_2network_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2log_2network_8hpp_source.html b/content/api/latest/c++/src_2log_2network_8hpp_source.html
index d625425..9e3b68d 100644
--- a/content/api/latest/c++/src_2log_2network_8hpp_source.html
+++ b/content/api/latest/c++/src_2log_2network_8hpp_source.html
@@ -52,87 +52,86 @@
 <div class="title">network.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2log_2network_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a
 ><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//
  distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __NETWORK_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __NETWORK_HPP__</span></div><div class="line"><a name
 ="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// TODO(benh): Eventually move and associate this code with the</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// libprocess protobuf code rather than keep it here.</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class
 ="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="group_8hpp.html">mesos/zookeeper/group.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="collect_8hpp.html">process/collect.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2executor_8hpp.html">process/executor.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="
 preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2protobuf_8hpp.html">process/protobuf.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="duration_8hpp.html">stout/duration.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="foreach_8hpp.html">stout/foreach.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lambda_8hpp.html">stout/lambda.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing
 .hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="set_8hpp.html">stout/set.hpp</a>&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="unreachable_8hpp.html">stout/unreachable.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2logging_2logging_8hpp.html">logging/logging.hpp</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00044"></a><span class="linen
 o">   44</span>&#160;<span class="keyword">class </span><a class="code" href="classNetworkProcess.html">NetworkProcess</a>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// A &quot;network&quot; is a collection of protobuf processes (may be local</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// and/or remote). A network abstracts away the details of maintaining</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// which processes are waiting to receive messages and requests in the</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// presence of failures and dynamic reconfiguration.</span></div><div class="line"><a name="l00050"></a><span class="lineno"><a c
 lass="line" href="classNetwork.html">   50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classNetwork.html">Network</a></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">   53</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">WatchMode</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  {</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba7f1c8f1a0171b0e809d6c2e69490671a">   55</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46
 ba7f1c8f1a0171b0e809d6c2e69490671a">EQUAL_TO</a>,</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba35573a903c78a976ee1becfd4c41b64a">   56</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba35573a903c78a976ee1becfd4c41b64a">NOT_EQUAL_TO</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba83a711502205ef7ec107abfd72c969bf">   57</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba83a711502205ef7ec107abfd72c969bf">LESS_THAN</a>,</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46bae3f845f5bd93ed6d177e85214c15f5b1">   58</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46bae3f845f5bd93ed6d177e85214c1
 5f5b1">LESS_THAN_OR_EQUAL_TO</a>,</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba5720bf2cef2135857ad15209169bbd8c">   59</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba5720bf2cef2135857ad15209169bbd8c">GREATER_THAN</a>,</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba478ef22cc32892ffd21294e285b93e31">   60</a></span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba478ef22cc32892ffd21294e285b93e31">GREATER_THAN_OR_EQUAL_TO</a></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  };</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classNetwork.html#a3cc2
 fb4f8fa4d507077e8da85ce5a1c8">Network</a>();</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classNetwork.html#a3cc2fb4f8fa4d507077e8da85ce5a1c8">Network</a>(<span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classNetwork.html#a7a4e19cdb4bf0c7ecf82baa643831492">~Network</a>();</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">// Adds a PID to this network.</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="
 classNetwork.html#ae3f5928f9e83376daebfac35c789ae5e">add</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="comment">// Removes a PID from this network.</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keywordtype">void</span> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="comment">// Set the PIDs that are part of this network.</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74
 </span>&#160;  <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="comment">// Returns a future which gets set when the network size satisfies</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="comment">// the constraint specified by &#39;size&#39; and &#39;mode&#39;. For example, if</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="comment">// &#39;size&#39; is 2 and &#39;mode&#39; is GREATER_THAN, then the returned future</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class=
 "comment">// will get set when the size of the network is greater than 2.</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;size_t&gt;</a> <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a>(</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>,</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">WatchMode</a> <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a> = <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba35573a903c78a976ee1becfd4c41b64a">NOT_EQUAL_TO</a>) <span class="keyword">const</span>;</div><
 div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="comment">// Sends a request to each member of the network and returns a set</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="comment">// of futures that represent their responses.</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Req, <span class="keyword">typename</span> Res&gt;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::set&lt;process::Future&lt;Res&gt;</a>&gt;&gt; <a class="code" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">broadcast</a>(</div><div class="line"><a name="l00088"></a><span class="lineno"> 
   88</span>&#160;      <span class="keyword">const</span> <a class="code" href="structProtocol.html">Protocol&lt;Req, Res&gt;</a>&amp; protocol,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> Req&amp; req,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a> = std::set&lt;process::UPID&gt;()) <span class="keyword">const</span>;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="comment">// Sends a message to each member of the network. The returned</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="comment">// future is set when the 
 message is broadcasted.</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M&gt;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">broadcast</a>(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> M&amp; m,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a> = std::set&lt;process::UPID&gt;()) <span class="keyword">const</span>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#1
 60;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// Not copyable, not assignable.</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <a class="code" href="classNetwork.html#a3cc2fb4f8fa4d507077e8da85ce5a1c8">Network</a>(<span class="keyword">const</span> <a class="code" href="classNetwork.html">Network</a>&amp;);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="classNetwork.html">Network</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classNetwork.html">Network</a>&amp;);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <a class="code" href="classNetworkProcess
 .html">NetworkProcess</a>* <a class="code" href="namespaceprocess.html">process</a>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;};</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classZooKeeperNetwork.html">  108</a></span>&#160;<span class="keyword">class </span><a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a> : <span class="keyword">public</span> <a class="code" href="classNetwork.html">Network</a></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;{</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="classZooKeep
 erNetwork.html">ZooKeeperNetwork</a>(</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">const</span> std::string&amp; servers,</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; timeout,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::string&amp; znode,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;zookeeper::Authentication&gt;</a>&amp; auth,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a373bd5e2bd8f2694e4589293af477854">base</a> = 
 std::set&lt;process::UPID&gt;());</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">typedef</span> <a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a> <a class="code" href="classZooKeeperNetwork.html">This</a>;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="comment">// Not copyable, not assignable.</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a>(<span class="keyword">const</span> <a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a>&amp;);</div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classZooKeeperNetwork.html">ZooKeeperNetwork</a>&amp;);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">// Helper that sets up a watch on the group.</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a>(<span class="keyword">const</span> std::set&lt;zookeeper::Group::Membership&gt;&amp; expected);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <s
 pan class="comment">// Invoked when the group memberships have changed.</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">void</span> watched(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;std::set&lt;zookeeper::Group::Membership&gt;&gt;&amp;);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="comment">// Invoked when group members data has been collected.</span></div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">void</span> collected(</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroup
 s_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&gt;&gt;&amp; datas);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <a class="code" href="classzookeeper_1_1Group.html">zookeeper::Group</a> <a class="code" href="structgroup.html">group</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::set&lt;zookeeper::Group::Membership&gt;</a>&gt; memberships;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// The set of PIDs that are always in the network.</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</s
 pan>&#160;  std::set&lt;process::UPID&gt; <a class="code" href="namespaceprocess.html#a373bd5e2bd8f2694e4589293af477854">base</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">// NOTE: The declaration order here is important. We want to delete</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="comment">// the &#39;executor&#39; before we delete the &#39;group&#39; so that we don&#39;t get</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="comment">// spurious fatal errors when the &#39;group&#39; is being deleted.</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <a class="code" href="classprocess_1_1Executor.html">process::Executor</a> executor;</div><div class="line"><a name="l00145"></a><s
 pan class="lineno">  145</span>&#160;};</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classNetworkProcess.html">  148</a></span>&#160;<span class="keyword">class </span><a class="code" href="classNetworkProcess.html">NetworkProcess</a> : <span class="keyword">public</span> <a class="code" href="classProtobufProcess.html">ProtobufProcess</a>&lt;NetworkProcess&gt;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#a27e374e97a8ba393559ea8f9c7ee4d97">  151</a></span>&#160;  <a class="code" href="classNetworkProcess.html#
 a27e374e97a8ba393559ea8f9c7ee4d97">NetworkProcess</a>() : ProcessBase(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;log-network&quot;</span>)) {}</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#a961c50276561074c6666c35f979b75b5">  153</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classNetworkProcess.html#a961c50276561074c6666c35f979b75b5">NetworkProcess</a>(<span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>)</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    : ProcessBase(<a class="code" href="namespaceprocess.html">process</
 a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;log-network&quot;</span>))</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">set</span>(<a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  }</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#a8f7dc78648ac86e67596f7274e7543e8">  159</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classNetworkProcess.html#a8f7dc78648ac86e67596f7274e7543e8">add</a>(<span class="keyword">const</span> <a class="code" href="structproce
 ss_1_1UPID.html">process::UPID</a>&amp; pid)</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="comment">// Link in order to keep a socket open (more efficient).</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="comment">// We force a reconnect to avoid sending on a &quot;stale&quot; socket. In</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">// general when linking to a remote process, the underlying TCP</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="comment">// connection may become &quot;stale&quot;. RFC 793 refers to this as a</span></div><div clas
 s="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="comment">// &quot;half-open&quot; connection: the RST is not sent upon the death</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="comment">// of the peer and a RST will only be received once further</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="comment">// data is sent on the socket.</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="comment">// &quot;Half-open&quot; (aka &quot;stale&quot;) connections are typically addressed</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="comment">// via keep-alives (see RFC 1122 4.2.3.6) to periodically probe</span><
 /div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="comment">// the connection. In this case, we can rely on the (re-)addition</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="comment">// of the network member to create a new connection.</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="comment">// See MESOS-5576 for a scenario where reconnecting helps avoid</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="comment">// dropped messages.</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    link(pid, RemoteConnection::RECONNECT);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;
 </div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.insert(pid);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="comment">// Update any pending watches.</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>();</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  }</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#a865d2584e57d04f2b8731b159082b2e4">  185</a></span>&#160;  <span class="keywordtype">void</span> <sp
 an class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid)</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  {</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="comment">// TODO(benh): unlink(pid);</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.erase(pid);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="comment">// Update any pending watches.</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>();</div><di
 v class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  }</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#aeddc897b59e6a9f85b878c8d7280df86">  194</a></span>&#160;  <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; _pids)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  {</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.clear();</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid, _pids) 
 {</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <a class="code" href="classNetwork.html#ae3f5928f9e83376daebfac35c789ae5e">add</a>(pid); <span class="comment">// Also does a link.</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    }</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">// Update any pending watches.</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>();</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  }</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="li
 ne" href="classNetworkProcess.html#a68b3187740a1368babf8cd06c4519bbf">  205</a></span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;size_t&gt;</a> <a class="code" href="classNetworkProcess.html#a68b3187740a1368babf8cd06c4519bbf">watch</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>, <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">Network::WatchMode</a> <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a>)</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">if</span> (satisfied(size, mode)) {</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#
 a42af1cab63434cedf2b698cd6f49f073">pids</a>.size();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    Watch* <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a> = <span class="keyword">new</span> Watch(size, mode);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    watches.push_back(watch);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="comment">// TODO(jieyu): Consider deleting &#39;watch&#39; if the returned future</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">// is discarded by the user.</span></div><di
 v class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordflow">return</span> watch-&gt;promise.future();</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  }</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">// Sends a request to each of the group members and returns a set</span></div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="comment">// of futures that represent their responses.</span></div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Req, <span class="keyword">typename</span> Res&gt;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classNetworkProcess.html#adde5598934
 df8f0d514db2b01d2508f2">  222</a></span>&#160;  std::set&lt;process::Future&lt;Res&gt;&gt; <a class="code" href="classNetworkProcess.html#adde5598934df8f0d514db2b01d2508f2">broadcast</a>(</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keyword">const</span> <a class="code" href="structProtocol.html">Protocol&lt;Req, Res&gt;</a>&amp; protocol,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      <span class="keyword">const</span> Req&amp; req,</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;      <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a>)</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    std::set&lt;process::Future&lt;Res&g
 t;&gt; futures;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keyword">typename</span> std::set&lt;process::UPID&gt;::const_iterator iterator;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">for</span> (iterator = <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.begin(); iterator != <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.end(); ++iterator) {</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid = *iterator;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      <span class="keywordflow">if</span> (filter.count(pid) == 0) {</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;       
  futures.insert(protocol(pid, req));</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    }</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordflow">return</span> futures;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  }</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">// Sends a request to each of the group members without expecting responses.</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M&gt;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classNetworkProcess.html
 #a96f258726d50884bad2b45143791d9e3">  240</a></span>&#160;  <a class="code" href="structNothing.html">Nothing</a> <a class="code" href="classNetworkProcess.html#a96f258726d50884bad2b45143791d9e3">broadcast</a>(</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <span class="keyword">const</span> M&amp; m,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a>)</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  {</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    std::set&lt;process::UPID&gt;::const_iterator iterator;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keywordflow">for</span> (iterator = <a class="code" href="namespaceos.ht
 ml#a42af1cab63434cedf2b698cd6f49f073">pids</a>.begin(); iterator != <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.end(); ++iterator) {</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid = *iterator;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keywordflow">if</span> (filter.count(pid) == 0) {</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="comment">// NOTE: Just send this message as the network process itself</span></div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="comment">// since we don&#39;t need to deliver responses back to the caller.</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;      
   <span class="comment">// Incoming messages addressed to the network are simply dropped.</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <a class="code" href="namespacenet.html#aa0a46766b4aca53ea50e1921567ddb40">send</a>(pid, m);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;      }</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    }</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  }</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00258"></a><span class="l
 ineno"><a class="line" href="classNetworkProcess.html#a36b7e3c3759a96959823ee339fa68392">  258</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classNetworkProcess.html#a36b7e3c3759a96959823ee339fa68392">finalize</a>()</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">foreach</span> (Watch* <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a>, watches) {</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      watch-&gt;promise.fail(<span class="stringliteral">&quot;Network is being terminated&quot;</span>);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      <span class="keyword">delete</span> <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">wat
 ch</a>;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    }</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    watches.clear();</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  }</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="keyword">struct </span>Watch</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  {</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    Watch(<span class="keywordtype">size_t</span> _size, <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">Network::WatchMode</a> _mode)</div><div class="line"><a name="l00271"></a><
 span class="lineno">  271</span>&#160;      : <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>(_size), <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a>(_mode) {}</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">Network::WatchMode</a> <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a>;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;size_t&gt;</
 a> <a class="code" href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">promise</a>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  };</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="comment">// Not copyable, not assignable.</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <a class="code" href="classNetworkProcess.html">NetworkProcess</a>(<span class="keyword">const</span> <a class="code" href="classNetworkProcess.html">NetworkProcess</a>&amp;);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <a class="code" href="classNetworkProcess.html">NetworkProcess</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classNetworkProcess.html">NetworkProcess</a>&amp;);</div><div class="
 line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// Notifies the change of the network.</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>()</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  {</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a> = watches.size();</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a cla
 ss="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>; i++) {</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;      Watch* <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a> = watches.front();</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;      watches.pop_front();</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <span class="keywordflow">if</span> (satisfied(watch-&gt;size, watch-&gt;mode)) {</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        watch-&gt;promise.set(<a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size());</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="keyword">delete</span> <a clas
 s="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">watch</a>;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;      } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        watches.push_back(watch);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;      }</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    }</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  }</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="comment">// Returns true if the current size of the network satisfies the</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="comment">// constraint specified by &#39;s
 ize&#39; and &#39;mode&#39;.</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="keywordtype">bool</span> satisfied(<span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>, <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">Network::WatchMode</a> <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a>)</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  {</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordflow">switch</span> (mode) {</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba7f1c8f1a0171b0e809d6c2e69490671a">Network::EQUAL_TO</a>:</div><div class="line"><a
  name="l00305"></a><span class="lineno">  305</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() == <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba35573a903c78a976ee1becfd4c41b64a">Network::NOT_EQUAL_TO</a>:</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() != <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;      <span class="keywordflow">case</span> <
 a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba83a711502205ef7ec107abfd72c969bf">Network::LESS_THAN</a>:</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() &lt; <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46bae3f845f5bd93ed6d177e85214c15f5b1">Network::LESS_THAN_OR_EQUAL_TO</a>:</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() &lt;= <a class="code" href="namespaceos_1_1stat.html#a7a
 116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba5720bf2cef2135857ad15209169bbd8c">Network::GREATER_THAN</a>:</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() &gt; <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46ba478ef22cc32892ffd21294e285b93e31">Network::GREATER_THAN_OR_EQUAL_TO</a>:</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span clas
 s="keywordflow">return</span> <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>.size() &gt;= <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;      <span class="keywordflow">default</span>:</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        LOG(FATAL) &lt;&lt; <span class="stringliteral">&quot;Invalid watch mode&quot;</span>;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <a class="code" href="unreachable_8hpp.html#a0bc63b24b654ca433be7b97a3edde132">UNREACHABLE</a>();</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    }</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  }</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div><div class="line
 "><a name="l00322"></a><span class="lineno">  322</span>&#160;  std::set&lt;process::UPID&gt; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  std::list&lt;Watch*&gt; watches;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;};</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classNetwork.html#a3cc2fb4f8fa4d507077e8da85ce5a1c8">  327</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classNetwork.html#a3cc2fb4f8fa4d507077e8da85ce5a1c8">Network::Network</a>()</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;{</div><div class="line"><a name="l00329"></a><span class="lineno"> 
  329</span>&#160;  <a class="code" href="namespaceprocess.html">process</a> = <span class="keyword">new</span> <a class="code" href="classNetworkProcess.html">NetworkProcess</a>();</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">process::spawn</a>(<a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;}</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classNetwork.html#af5fdbd9ebb3015e2532841939975d6db">  334</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classNetwork.html#a3cc2fb4f8fa4d507077e8da85ce5a1c8">Network::Network</a>(<span class="keyword">const
 </span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>)</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;{</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <a class="code" href="namespaceprocess.html">process</a> = <span class="keyword">new</span> <a class="code" href="classNetworkProcess.html">NetworkProcess</a>(pids);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">process::spawn</a>(<a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;}</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div><div class="line"><a name="l00341"
 ></a><span class="lineno"><a class="line" href="classNetwork.html#a7a4e19cdb4bf0c7ecf82baa643831492">  341</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classNetwork.html#a7a4e19cdb4bf0c7ecf82baa643831492">Network::~Network</a>()</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;{</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">process::terminate</a>(<a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <a class="code" href="namespaceprocess.html#a07833fb41a8b0c1f18fa5485ca8c18d4">process::wait</a>(<a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  <span class="keyword">delete</span> <a class="code" href="namespaceprocess.html">p
 rocess</a>;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;}</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classNetwork.html#ae3f5928f9e83376daebfac35c789ae5e">  349</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classNetwork.html#ae3f5928f9e83376daebfac35c789ae5e">Network::add</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid)</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;{</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href
 ="namespaceprocess.html">process</a>, &amp;<a class="code" href="classNetworkProcess.html#a8f7dc78648ac86e67596f7274e7543e8">NetworkProcess::add</a>, pid);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;}</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classNetwork.html#a4e7349244ab231fe08db8c59d159d5b7">  355</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classNetwork.html#a4e7349244ab231fe08db8c59d159d5b7">Network::remove</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid)</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="li
 neno">  357</span>&#160;  <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href="namespaceprocess.html">process</a>, &amp;<a class="code" href="classNetworkProcess.html#a865d2584e57d04f2b8731b159082b2e4">NetworkProcess::remove</a>, pid);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;}</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classNetwork.html#a0722ba6e072b74ffbe4556e2d432f103">  361</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classNetwork.html#a0722ba6e072b74ffbe4556e2d432f103">Network::set</a>(<span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceos.html#a
 42af1cab63434cedf2b698cd6f49f073">pids</a>)</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;{</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href="namespaceprocess.html">process</a>, &amp;<a class="code" href="classNetworkProcess.html#aeddc897b59e6a9f85b878c8d7280df86">NetworkProcess::set</a>, pids);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;}</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">  367</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">pro
 cess::Future&lt;size_t&gt;</a> <a class="code" href="classNetwork.html#ac273d79a8be8f05411440757979dae5d">Network::watch</a>(</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">size</a>, <a class="code" href="classNetwork.html#a43d645248055c352b6550c586dfdf46b">Network::WatchMode</a> <a class="code" href="namespaceos_1_1stat.html#afc51654ad486693167c300612bf8ebfa">mode</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href="namespaceprocess.html">process</a>, &amp;<a class="code" href="cl
 assNetworkProcess.html#a68b3187740a1368babf8cd06c4519bbf">NetworkProcess::watch</a>, size, mode);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Req, <span class="keyword">typename</span> Res&gt;</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">  375</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::set&lt;process::Future&lt;Res&gt;</a>&gt;&gt; <a class="code" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">Network::broadcast</a>(</div><div class="line"><a name="l00376"></a><span 
 class="lineno">  376</span>&#160;    <span class="keyword">const</span> <a class="code" href="structProtocol.html">Protocol&lt;Req, Res&gt;</a>&amp; protocol,</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keyword">const</span> Req&amp; req,</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href="namespaceprocess.html">process</a>, &amp;NetworkProcess::
 broadcast&lt;Req, Res&gt;,</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;                           protocol, req, filter);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;}</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> M&gt;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classNetwork.html#a75734a1bb2c17828346e03e8bd959690">  386</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">Network::broadcast</a>(</div><div class="line"><a name="l00387"></a><span class="lineno">  
 387</span>&#160;    <span class="keyword">const</span> M&amp; m,</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keyword">const</span> std::set&lt;process::UPID&gt;&amp; <a class="code" href="namespaceprocess.html#a3054d5443603436a6315f210a412cbbc">filter</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  <span class="comment">// Need to disambiguate overloaded function.</span></div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  <a class="code" href="structNothing.html">Nothing</a> (<a class="code" href="classNetworkProcess.html">NetworkProcess</a>::*<a class="code" href="classNetwork.html#a31e8af8c885552d6cf1000ea846c62dc">broadcast</a>)(<span class="keyword">const</span> M&amp;, <span class="keyword">const</span>
  std::set&lt;process::UPID&gt;&amp;)</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    = &amp;NetworkProcess::broadcast&lt;M&gt;;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">process::dispatch</a>(<a class="code" href="namespaceprocess.html">process</a>, broadcast, m, filter);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;}</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classZooKeeperNetwork.html#adf9c95d172e51c5ff40c7c14a9370a72">  398</a></span>&#160;<span class="ke
 yword">inline</span> <a class="code" href="classZooKeeperNetwork.html#adf9c95d172e51c5ff40c7c14a9370a72">ZooKeeperNetwork::ZooKeeperNetwork</a>(</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keyword">const</span> std::string&amp; servers,</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="keyword">const</span> <a class="code" href="classDuration.html">Duration</a>&amp; timeout,</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keyword">const</span> std::string&amp; znode,</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;zookeeper::Authentication&gt;</a>&amp; auth,</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="keyword">const</span> std::set&lt;process::UPID&gt
 ;&amp; _base)</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  : <a class="code" href="structgroup.html">group</a>(servers, timeout, znode, auth),</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="namespaceprocess.html#a373bd5e2bd8f2694e4589293af477854">base</a>(_base)</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;{</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  <span class="comment">// PIDs from the base set are in the network from beginning.</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;  <span class="keyword">set</span>(base);</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;  watch(std::set&lt;zookeeper::Group::Membership&gt;());</div><div class="line">
 <a name="l00411"></a><span class="lineno">  411</span>&#160;}</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> ZooKeeperNetwork::watch(</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">const</span> std::set&lt;zookeeper::Group::Membership&gt;&amp; expected)</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;{</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;  memberships = <a class="code" href="structgroup.html">group</a>.watch(expected);</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  memberships</div><div class="line"><a name="l00419"></a><span class
 ="lineno">  419</span>&#160;    .<a class="code" href="classprocess_1_1Future.html#a71bde220aed3c725cef2040f63adf42a">onAny</a>(executor.<a class="code" href="classprocess_1_1Executor.html#aa129606e06f0a2cf30f5b198ad826400">defer</a>(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(&amp;This::watched, <span class="keyword">this</span>, lambda::_1)));</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;}</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> ZooKeeperNetwork::watched(</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keyword">const</span> <a class="code" href="class
 process_1_1Future.html">process::Future</a>&lt;std::set&lt;zookeeper::Group::Membership&gt;&gt;&amp;)</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;{</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;  <span class="keywordflow">if</span> (memberships.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="comment">// We can&#39;t do much here, we could try creating another Group but</span></div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="comment">// that might just continue indefinitely, so we fail early</span></div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="comment">// instead. Note that Group handles all retryable/recoverable</span></div><div class="line"><a name="l0
 0430"></a><span class="lineno">  430</span>&#160;    <span class="comment">// ZooKeeper errors internally.</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    LOG(FATAL) &lt;&lt; <span class="stringliteral">&quot;Failed to watch ZooKeeper group: &quot;</span> &lt;&lt; memberships.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>();</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;  }</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;  <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140">CHECK_READY</a>(memberships);  <span class="comment">// Not expecting Group to discard futures.</span></div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div><div class="line"><a na
 me="l00436"></a><span class="lineno">  436</span>&#160;  LOG(INFO) &lt;&lt; <span class="stringliteral">&quot;ZooKeeper group memberships changed&quot;</span>;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  <span class="comment">// Get data for each membership in order to convert them to PIDs.</span></div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  std::list&lt;process::Future&lt;Option&lt;std::string&gt;&gt;&gt; futures;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="structzookeeper_1_1Group_1_1Membership.html">zookeeper::Group::Membership</a>&amp; membership, memberships.<a class="code" href="classprocess_1_1
 Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>()) {</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    futures.push_back(<a class="code" href="structgroup.html">group</a>.data(membership));</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;  }</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <a class="code" href="namespaceprocess.html#a0f89a937c1caa20e3048e16aeb0c9736">process::collect</a>(futures)</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    .<a class="code" href="classprocess_1_1Future.html#a7818051e0d3d4ef9aa6a25d9246312ea">after</a>(<a class="code" href="classSeconds.html">Seconds</a>(5),</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;           [](<a class="code" href="classprocess_1_1Future.html">process::F
 uture</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&gt;&gt; datas) {</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;             <span class="comment">// Handling time outs when collecting membership</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;             <span class="comment">// data. For now, a timeout is treated as a failure.</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;             datas.discard();</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;             <span class="keywordflow">return</span> <a class="code" href="structprocess_1_1Failure.html">process::Failure</a>(<span class="stringliteral">&quot;Timed out&quot;</span>);</div><div class="line"><a name="l00452"></a><span class=
 "lineno">  452</span>&#160;           })</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    .onAny(executor.<a class="code" href="classprocess_1_1Executor.html#aa129606e06f0a2cf30f5b198ad826400">defer</a>(<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">lambda::bind</a>(&amp;This::collected, <span class="keyword">this</span>, lambda::_1)));</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;}</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> ZooKeeperNetwork::collected(</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="keyword">const</span> <a class="code" 
 href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&gt;&gt;&amp; datas)</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="keywordflow">if</span> (datas.isFailed()) {</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Failed to get data for ZooKeeper group members: &quot;</span></div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;                 &lt;&lt; datas.failure();</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="
 comment">// Try again later assuming empty group. Note that this does not</span></div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="comment">// remove any of the current group members.</span></div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    watch(std::set&lt;zookeeper::Group::Membership&gt;());</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keywordflow">return</span>;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  }</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140">CHECK_READY</a>(datas);  <span class="comment">// Not expecting collect to discard futures.</span></div><div class="line"><a na
 me="l00471"></a><span class="lineno">  471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  std::set&lt;process::UPID&gt; <a class="code" href="namespaceos.html#a42af1cab63434cedf2b698cd6f49f073">pids</a>;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; data, datas.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>()) {</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="comment">// Data could be None if the membership is gone before its</span></div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="comment">// content can be read.</span></div><d
 iv class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keywordflow">if</span> (data.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;      <a class="code" href="structprocess_1_1UPID.html">process::UPID</a> pid(data.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>());</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      CHECK(pid) &lt;&lt; <span class="stringliteral">&quot;Failed to parse &#39;&quot;</span> &lt;&lt; data.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      pids.insert(pid);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    
 }</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;  }</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  LOG(INFO) &lt;&lt; <span class="stringliteral">&quot;ZooKeeper group PIDs: &quot;</span> &lt;&lt; <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(pids);</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;  <span class="comment">// Update the network. We make sure that the PIDs from the base set</span></div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  <span class="comment">// are always in the network.</span></div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;  <span class="keyword">set</span>(pids | base);</div
 ><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  watch(memberships.<a class="code" href="classprocess_1_1Future.html#aa78977d3b585a5f5ccd682c1e9e2ddc4">get</a>());</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;}</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">#endif // __NETWORK_HPP__</span></div><div class="ttc" id="namespaceprocess_1_1ID_html_aeb11a48c9def1da169d8455a30d0ee39"><div class="ttname"><a href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">process::ID::generate</a></div><div class="ttdeci">std::string generate(const std::string &amp;prefix=&quot;&quot;)</div><div class="ttdoc">Returns &amp;#39;prefix(N)&amp;#39; where N represents the number of instances where
  the same prefix (wrt...</div></div>
-<div class="ttc" id="classNetworkProcess_html_a27e374e97a8ba393559ea8f9c7ee4d97"><div class="ttname"><a href="classNetworkProcess.html#a27e374e97a8ba393559ea8f9c7ee4d97">NetworkProcess::NetworkProcess</a></div><div class="ttdeci">NetworkProcess()</div><div class="ttdef"><b>Definition:</b> network.hpp:151</div></div>
-<div class="ttc" id="classNetworkProcess_html_a865d2584e57d04f2b8731b159082b2e4"><div class="ttname"><a href="classNetworkProcess.html#a865d2584e57d04f2b8731b159082b2e4">NetworkProcess::remove</a></div><div class="ttdeci">void remove(const process::UPID &amp;pid)</div><div class="ttdef"><b>Definition:</b> network.hpp:185</div></div>
+<a href="src_2log_2network_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a
 ><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00

<TRUNCATED>

[12/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/slave_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/slave_8hpp_source.html b/content/api/latest/c++/slave_8hpp_source.html
index ed805ff..59319eb 100644
--- a/content/api/latest/c++/slave_8hpp_source.html
+++ b/content/api/latest/c++/slave_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">slave.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="slave_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class
 ="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distributed
  under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __SLAVE_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __SLAVE_HPP__</span></div><div class="line"><a name="l00019"></a><s
 pan class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<sp
 an class="preprocessor">#include &lt;boost/circular_buffer.hpp&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2attributes_8hpp.html">mesos/attributes.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resources_8hpp.html">mesos/resources.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="type__utils_8hpp.html">mesos/type_utils.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class
 ="code" href="agent_2agent_8hpp.html">mesos/agent/agent.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="authentication_2secret__generator_8hpp.html">mesos/authentication/secret_generator.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2executor_2executor_8hpp.html">mesos/executor/executor.hpp</a>&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2master_2detector_8hpp.html">
 mesos/master/detector.hpp</a>&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2module_2authenticatee_8hpp.html">mesos/module/authenticatee.hpp</a>&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2containerizer_8hpp.html">mesos/slave/containerizer.hpp</a>&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slave_2qos__controller_8hpp.html">mesos/slave/qos_controller.hpp</a>&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<s
 pan class="preprocessor">#include &lt;<a class="code" href="slave_2resource__estimator_8hpp.html">mesos/slave/resource_estimator.hpp</a>&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2v1_2executor_2executor_8hpp.html">mesos/v1/executor/executor.hpp</a>&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div 
 class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2protobuf_8hpp.html">process/protobuf.hpp</a>&gt;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preproc
 essor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sequence_8hpp.html">process/sequence.hpp</a>&gt;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="boundedhashmap_8hpp.html">stout/boundedhashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="bytes_8hpp.html">stout/bytes.hpp</a>&gt;</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="linkedhashmap_8hpp.html">stou
 t/linkedhashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>&gt;</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="os_8hpp.html">stout/os.hpp</a>&gt;</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="path_8hpp.html">stout/path.hpp</a>&gt;</s
 pan></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2stout_2include_2stout_2recordio_8hpp.html">stout/recordio.hpp</a>&gt;</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="uuid_8hpp.html">stout/uuid.hpp</a>&gt;</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2common_2http_8hpp.html">common/http.hpp</a>&quot;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="protobuf__utils_8hpp.html">common/protobuf_utils.hpp</a>&quot;</span></div><div class="line"><a name="l00071"></a><span class="li
 neno">   71</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2common_2recordio_8hpp.html">common/recordio.hpp</a>&quot;</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="files_8hpp.html">files/files.hpp</a>&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="evolve_8hpp.html">internal/evolve.hpp</a>&quot;</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="messages_8hpp.html">messages/messages.hpp
 </a>&quot;</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="daemon_8hpp.html">resource_provider/daemon.hpp</a>&quot;</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="resource__provider_2manager_8hpp.html">resource_provider/manager.hpp</a>&quot;</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2constants_8hpp.html">slave/constants.hpp</a>&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src
 _2slave_2containerizer_2containerizer_8hpp.html">slave/containerizer/containerizer.hpp</a>&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="gc_8hpp.html">slave/gc.hpp</a>&quot;</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2http_8hpp.html">slave/http.hpp</a>&quot;</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2metrics_8hpp.html">slave/metrics.hpp</a>&quot;</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</s
 pan>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2paths_8hpp.html">slave/paths.hpp</a>&quot;</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2state_8hpp.html">slave/state.hpp</a>&quot;</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">// `REGISTERING` is used as an enum value, but it&#39;s actually defined as a</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">// constant in the Windows SDK.</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#ifdef __WINDOWS__</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preproc
 essor">#undef REGISTERING</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#undef REGISTERED</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif // __WINDOWS__</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">// Forward declarations.</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">class </span>Authorizer;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&
 #160;<span class="keyword">class </span>DiskProfileAdaptor;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">// Some forward declarations.</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">class </span>TaskStatusUpdateManager;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">class </span>Executor;</div><div class="line"><a name="l00110"></a
 ><span class="lineno">  110</span>&#160;<span class="keyword">class </span>Framework;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">struct </span>HttpConnection;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">struct </span>ResourceProvider;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html">  116</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a> : <span class="keyword">public</span> <a class="code" href="classProtobufProcess.html">ProtobufProcess</a>&lt;Slave&g
 t;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#adc334f9dc35ff066eee2fe0dfca8b8d7">Slave</a>(<span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector,</div><div cla
 ss="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">Containerizer</a>* containerizer,</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1Files.html">Files</a>* files,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1slave_1_1GarbageCollector.html">GarbageCollector</a>* gc,</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <a class="code" href="classmesos_1_1internal_1_1slave_1_1TaskStatusUpdateManager.html">TaskStatusUpdateManager</a>* taskStatusUpdateManager,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstim
 ator,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <a class="code" href="classmesos_1_1SecretGenerator.html">mesos::SecretGenerator</a>* secretGenerator,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Authorizer*&gt;</a>&amp; authorizer);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad958f0e032e8ea9a49a442232df8bbd3">~Slave</a>();</div><div class="line"><a name="l00132"></a><span class=
 "lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a16989d154cc28900c0094622ffb38324">shutdown</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from, <span class="keyword">const</span> std::string&amp; <a class="code" href="classprocess_1_1ProcessBase.html#afb219ae4b5e8dab3f724e78032e03d0c">message</a>);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a15efbb67f94f85e7d08726c0697c179b">registered</a>(</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">const</span> <a class="
 code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="keyword">const</span> MasterSlaveConnection&amp; connection);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a93ef27587c482384feeca0a915dcf23f">reregistered</a>(</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    
   <span class="keyword">const</span> SlaveID&amp; slaveId,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">const</span> std::vector&lt;ReconcileTasksMessage&gt;&amp; reconciliations,</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <span class="keyword">const</span> MasterSlaveConnection&amp; connection);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#af7b56f9573b13d083140cc1465a186f4">doReliableRegistration</a>(<a class="code" href="classDuration.html">Duration</a> maxBackoff);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="
 comment">// TODO(mzhu): Combine this with `runTask()&#39; and replace all `runTask()&#39;</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="comment">// mock with `run()` mock.</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a1b1b0a11b5f06125e3e546de09e1030b">handleRunTaskMessage</a>(</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      RunTaskMessage&amp;&amp; runTaskMessage);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <spa
 n class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa429acb761ae13eab28ec1b3f73402aa">runTask</a>(</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keyword">const</span> <a class="co
 de" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#abfb7f
 2e5da682da23743fadf18a369a8">run</a>(</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      ExecutorInfo executorInfo,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a> task,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a> taskGroup,</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1
 _1UPID.html">process::UPID</a>&amp; pid,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="comment">// This function returns a future so that we can encapsulate a task(group)</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="comment">// launch operation (from agent receiving the run message to the completion</span></div><di
 v class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="comment">// of `_run()`) into a single future. This includes all the asynchronous</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="comment">// steps (currently two: unschedule GC and task authorization) prior to the</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="comment">// executor launch.</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a80383d69afdb3c654a60099b77ce2c71">_run</a>(</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class
 ="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00187"></a
 ><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a514097b38996ebe6618cf514d1d3f19f">__run</a>(</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; task,</div><d
 iv class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskGroupInfo&gt;</a>&amp; taskGroup,</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="comment">// This is called when the resource limits of the container have</span></div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="comment">// been updated for the
  given tasks and task groups. If the update is</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="comment">// successful, we flush the given tasks to the executor by sending</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="comment">// RunTaskMessages or `LAUNCH_GROUP` events.</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac044f6428269d27e69f1652c5b07f5bc">___run</a>(</div><div class="line"><a name="l00204"></a><span cl
 ass="lineno">  204</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <span class="keyword">const</span> std::list&lt;TaskGroupInfo&gt;&amp; taskGroups);</div><div class="line"><a name=
 "l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">// TODO(mzhu): Combine this with `runTaskGroup()&#39; and replace all</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="comment">// `runTaskGroup()&#39; mock with `run()` mock.</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a101f8dc5a130dc066b8be3e231eed9f8">handleRunTaskGroupMessage</a>(</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;      RunTaskGroupMessage&amp;&amp; runTaskGroupMessage
 );</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a515bd07e751e76bda7f78d3953f5c64f">runTaskGroup</a>(</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;      <span class="keyword
 ">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;      <span class="keyword">const</span> TaskGroupInfo&amp; taskGroupInfo,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keyword">const</span> std::vector&lt;ResourceVersionUUID&gt;&amp; resourceVersionUuids,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a>&amp; launchExecutor);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">vo
 id</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a54445d6bb6235a083065e0ceb7c38b12">killTask</a>(</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      <span class="keyword">const</span> KillTaskMessage&amp; killTaskMessage);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a268b5307f2796f9270acf6efaf29711c
 ">shutdownExecutor</a>(</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="comment">// Shut down an executor. This is a two phase process. First, an</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">// executor receives a shut down message (shut down phase), then</span></div><div class="line
 "><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">// after a configurable timeout the slave actually forces a kill</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="comment">// (kill phase, via the isolator) if the executor has not</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">// exited.</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a1ddf147030bcd30d9958a082854f28f5">_sh
 utdownExecutor</a>(<a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a>* framework, <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* executor);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#abbbc83998379b2613f6c0b1e943b9e3c">shutdownFramework</a>(</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId);</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><d
 iv class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad479def15e8e6a1214040b586960595b">schedulerMessage</a>(</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      <span class="keyword">const</span> std::string&amp; data);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</
 span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a908f4faf4a455a57bb0c12f67c5b352b">updateFramework</a>(</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;      <span class="keyword">const</span> UpdateFrameworkMessage&amp; message);</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a2810609994b80738552474712e28e39e">checkpointResources</a>(</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      std::vector&lt;Resource&gt; checkpointedResources,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <span class="keywordtype">bool</span> changeTotal);</div><div class="line"><a name="l00262"></a>
 <span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a589f324a9902c53c8bdef5d1d0781fac">checkpointResourcesMessage</a>(</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;      <span class="keyword">const</span> std::vector&lt;Resource&gt;&amp; checkpointedResources);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a8b9e36bb8dae2f4b14b8799718c969a0">applyOperation</a>(<span class="keyword">const</span> ApplyOperationMessage&amp; message);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l
 00268"></a><span class="lineno">  268</span>&#160;  <span class="comment">// Reconciles pending operations with the master. This is necessary to handle</span></div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">// cases in which operations were dropped in transit, or in which an agent&#39;s</span></div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="comment">// `UpdateSlaveMessage` was sent at the same time as an operation was en route</span></div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="comment">// from the master to the agent.</span></div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a0ba4694079a24c1185bda1ae271ec571">reconcileOperations</a>(<span class="keyword">const</span> ReconcileOperation
 sMessage&amp; message);</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a6f4d260ba9dd50482b7bd8f5021f29b3">subscribe</a>(</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html">HttpConnection</a> http,</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;      <span class="keyword">const</span> executor::Call::Subscribe&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a6f4d260ba9dd50482b7bd8f5021f29b3">subscribe</a>,</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a>* frame
 work,</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* executor);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#accb925947118625aa974fe887268b90a">registerExecutor</a>(</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;      <span class="keyword">const
 </span> ExecutorID&amp; executorId);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="comment">// Called when an executor reregisters with a recovering slave.</span></div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="comment">// &#39;tasks&#39; : Unacknowledged tasks (i.e., tasks that the executor</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">//           driver never received an ACK for.)</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="comment">// &#39;updates&#39; : Unacknowledged updates.</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.ht
 ml#a7671d5dc95a480163e3a52466767ab80">reregisterExecutor</a>(</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;      <span class="keyword">const</span> std::vector&lt;TaskInfo&gt;&amp; tasks,</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;      <span class="keyword">const</span> std::vector&lt;StatusUpdate&gt;&amp; updates);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><d
 iv class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a501cc0851b8609a0305cb6b4604081ab">_reregisterExecutor</a>(</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future,</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00301"></a><span class="lineno">  30
 1</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ab7696419236c5bd5d455a0f1aeca9e2c">executorMessage</a>(</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;      <span class="keyword">const</span> std::string&amp; data);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span c
 lass="lineno">  308</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a5375350e12064d0cc86ec346e06c22cf">ping</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from, <span class="keywordtype">bool</span> connected);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="comment">// Handles the task status update.</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="comment">// NOTE: If &#39;pid&#39; is a valid UPID an ACK is sent to this pid</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  <span class="comment">// after the update is successfully handled. If pid == UPID()</span></div><div class="line"><a name="l00313"></a><span class="
 lineno">  313</span>&#160;  <span class="comment">// no ACK is sent. The latter is used by the slave to send</span></div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  <span class="comment">// status updates it generated (e.g., TASK_LOST). If pid == None()</span></div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="comment">// an ACK is sent to the corresponding HTTP based executor.</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="comment">// NOTE: StatusUpdate is passed by value because it is modified</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="comment">// to ensure source field is set.</span></div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a6ebc1f2b
 684a989e5c42c9b2642b73dd">statusUpdate</a>(StatusUpdate <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>, <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::UPID&gt;</a>&amp; pid);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="comment">// Called when the slave receives a `StatusUpdate` from an executor</span></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="comment">// and the slave needs to retrieve the container status for the</span></div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="comment">// container associated with the executor.</span></div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="keywordtype">v
 oid</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac7dbbf424b30bc5f70fe4f6d22c3abc3">_statusUpdate</a>(</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;      StatusUpdate update,</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::UPID&gt;</a>&amp; pid,</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a>&gt;&amp; containerStatus);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div cla
 ss="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="comment">// Continue handling the status update after optionally updating the</span></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="comment">// container&#39;s resources.</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ab69c5bf00179cbecfacaa560bf404ff7">__statusUpdate</a>(</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&amp; future,</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;      <span class="keyword">const</span> StatusUpdate&amp; update,</div><
 div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::UPID&gt;</a>&amp; pid,</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="namespacemesos_1_1internal_1_1slave_1_1state_1_1internal.html#a749d698dcb6786428fa589b72cee6467">checkpoint</a>);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="comment">// This is called when the task statu
 s update manager finishes</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  <span class="comment">// handling the update. If the handling is successful, an</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  <span class="comment">// acknowledgment is sent to the executor.</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ad4a853b29ff31eeff458ae33b611bcaf">___statusUpdate</a>(</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future,</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;      <span class="keyword">const</span> StatusUpdate&amp; update,</div><div class
 ="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::UPID&gt;</a>&amp; pid);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="comment">// This is called by task status update manager to forward a status</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="comment">// update to the master. Note that the latest state of the task is</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="comment">// added to the update before forwarding.</span></div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a2ca66ded2a
 1266abdf00e370691a80df">forward</a>(StatusUpdate update);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a1e0c26aadd84e879a41ce399d685e421">statusUpdateAcknowledgement</a>(</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <spa
 n class="keyword">const</span> TaskID&amp; taskId,</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;      <span class="keyword">const</span> std::string&amp; uuid);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa91b3747671faf9f39404a8730e5ef3d">_statusUpdateAcknowledgement</a>(</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; future,</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;      <span class="keyword">const</span> TaskID&amp; taskId,</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;      <
 span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;      <span class="keyword">const</span> UUID&amp; uuid);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a5caeb163d30bdf0fd28900136a67ab04">operationStatusAcknowledgement</a>(</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      <span class="keyword">const</span> AcknowledgeOperationStatusMessage&amp; acknowledgement);</div><div class="line"><a name="l00368"></a><span class="linen
 o">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#afd6f15fbbd9aa282123928f0b6e0dfc1">executorLaunched</a>(</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a>&amp; future);</div><div class="line">
 <a name="l00374"></a><span class="lineno">  374</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  <span class="comment">// Made &#39;virtual&#39; for Slave mocking.</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a9c1e1cd64c97eca9037187ee4a782999">executorTerminated</a>(</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::
 Future</a>&lt;<a class="code" href="classOption.html">Option</a>&lt;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;          mesos::slave::ContainerTermination&gt;&gt;&amp; termination);</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  <span class="comment">// NOTE: Pulled these to public to make it visible for testing.</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  <span class="comment">// TODO(vinod): Make tests friends to this class instead.</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;  <span class="comment">// Garbage collects the directories based on the current disk usage.</span></div><div class="line"><a name="l00386"></a><span class="lineno">  386</
 span>&#160;  <span class="comment">// TODO(vinod): Instead of making this function public, we need to</span></div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  <span class="comment">// mock both GarbageCollector (and pass it through slave&#39;s constructor)</span></div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;  <span class="comment">// and os calls.</span></div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#af678d52f877800e895ff62f56be970cf">_checkDiskUsage</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;double&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a7c5612e80a880f00c74767e13bb068fd">usage</a>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#16
 0;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  <span class="comment">// Garbage collect image layers based on the disk usage of image</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  <span class="comment">// store.</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a32c9fe6c89794738768ae750919494c8">_checkImageDiskUsage</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;double&gt;</a>&amp; usage);</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="comment">// Invoked whenever the detector detects a change in masters.</span></div><div class="line"><a name="l00396"></a><sp
 an class="lineno">  396</span>&#160;  <span class="comment">// Made public for testing purposes.</span></div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ab93ec7c1c943aa82839dc8e5c717632c">detected</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;MasterInfo&gt;</a>&gt;&amp; _master);</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798">  399</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798">State</a></div><div class="line"><a name="l0
 0400"></a><span class="lineno">  400</span>&#160;  {</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a02c83e427172d4d3c7889ea36806806e">  401</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a02c83e427172d4d3c7889ea36806806e">RECOVERING</a>,   <span class="comment">// Slave is doing recovery.</span></div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a3a8b567a119034961ad2fc9fa32bb98b">  402</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a3a8b567a119034961ad2fc9fa32bb98b">DISCONNECTED</a>, <span class="comment">// Slave is not connected to the master.</span></div><div class="line"><a name="l00403"></a><span class
 ="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798ab6e7c1a3b051bfc2e95e9f2baae77ad5">  403</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798ab6e7c1a3b051bfc2e95e9f2baae77ad5">RUNNING</a>,      <span class="comment">// Slave has (re-)registered.</span></div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a229d35d6b3d76e3099d766261021b0db">  404</a></span>&#160;    <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a135c9291e330f8ecb3b39b99eca94798a229d35d6b3d76e3099d766261021b0db">TERMINATING</a>,  <span class="comment">// Slave is shutting down.</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#af79c3eb007e12f37fae
 c4a24d1f95cc4">state</a>;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  <span class="comment">// Describes information about agent recovery.</span></div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html">  408</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html">RecoveryInfo</a></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;  {</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="comment">// Flag to indicate if recovery, including reconciling</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="comment">// (i.e., reconnect/kill) with executors is f
 inished.</span></div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html#a2f6f939e181d233ae34f7f7133526d7b">  412</a></span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;Nothing&gt;</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html#a2f6f939e181d233ae34f7f7133526d7b">recovered</a>;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="comment">// Flag to indicate that HTTP based executors can</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="comment">// subscribe with the agent. We allow them to subscribe</span></div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="comment">// after the age
 nt recovers the containerizer.</span></div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html#abdbf7f4d9d923c57105b4eb1dac7e3d8">  417</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1Slave_1_1RecoveryInfo.html#abdbf7f4d9d923c57105b4eb1dac7e3d8">reconnect</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a2201f63bd7d999ad238f0c6cd7b956ef">recoveryInfo</a>;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  <span class="comment">// TODO(benh): Clang requires members to be public in order to take</span></div><div class="line"><a name="l00421"></a><span class="lineno"
 >  421</span>&#160;  <span class="comment">// their address which we do in tests (for things like</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <span class="comment">// FUTURE_DISPATCH).</span></div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="comment">// protected:</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ace99b8066d4aed8f21395f025118fc10">initialize</a>();</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ac81938c4eeee7234af198a86c13911fc">finalize</a>();</div><div class="line"><a name="l00426"></a><span class="lineno">  426<
 /span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#afc9437a65ba512cdfa4cd082b0e95d55">exited</a>(<span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Secret&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a3777b5da92987e60a452a6ce1d933925">generateSecret</a>(</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorI
 d,</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="comment">// If an executor is launched for a task group, `taskInfo` would not be set.</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aec8e91248f772177ed7cc8c2ca9ea54c">launchExecutor</a>(</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Secret&gt;</a>&gt;&amp; future,</div><div class="line"><a name="l00436
 "></a><span class="lineno">  436</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId,</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TaskInfo&gt;</a>&amp; taskInfo);</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ae407df872e63030271d69bc7ee62fc89">fileAttached</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; result,</div><div class="line"><a name="l00441"></a><span class="line
 no">  441</span>&#160;                    <span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;                    <span class="keyword">const</span> std::string&amp; virtualPath);</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  <a class="code" href="structNothing.html">Nothing</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a281c6252ea2ad026664661aaf22237c3">detachFile</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="namespacepath.html">path</a>);</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  <span class="comment">// TODO(qianzhang): This is a workaround to m
 ake the default executor task&#39;s</span></div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  <span class="comment">// volume directory visible in MESOS UI. It handles two cases:</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  <span class="comment">//   1. The task has disk resources specified. In this case any disk resources</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <span class="comment">//      specified for the task are mounted on the top level container since</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  <span class="comment">//      currently all resources of nested containers are merged in the top</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  <span class="comment">//      level executor container. To make sure the task can access any volumes</span></div><div cl
 ass="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <span class="comment">//      specified in its disk resources from its sandbox, a workaround was</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  <span class="comment">//      introduced to the default executor in MESOS-7225, i.e., adding a</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  <span class="comment">//      `SANDBOX_PATH` volume with type `PARENT` to the corresponding nested</span></div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <span class="comment">//      container. This volume gets translated into a bind mount in the nested</span></div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <span class="comment">//      container&#39;s mount namespace, which is not visible in Mesos UI because</span></div><div class="line"><a name="l00457"></a><span cla
 ss="lineno">  457</span>&#160;  <span class="comment">//      it operates in the host namespace. See MESOS-8279 for details.</span></div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  <span class="comment">//   2. The executor has disk resources specified and the task&#39;s ContainerInfo</span></div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  <span class="comment">//      has a `SANDBOX_PATH` volume with type `PARENT` specified to share the</span></div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="comment">//      executor&#39;s disk volume. Similar to the first case, this `SANDBOX_PATH`</span></div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <span class="comment">//      volume gets translated into a bind mount which is not visible in Mesos</span></div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  <
 span class="comment">//      UI. See MESOS-8565 for details.</span></div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;  <span class="comment">// To make the task&#39;s volume directory visible in Mesos UI, here we attach the</span></div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  <span class="comment">// executor&#39;s volume directory to it so that it can be accessed via the /files</span></div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  <span class="comment">// endpoint. So when users browse task&#39;s volume directory in Mesos UI, what</span></div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  <span class="comment">// they actually browse is the executor&#39;s volume directory. Note when calling</span></div><div class="line"><a na
 me="l00468"></a><span class="lineno">  468</span>&#160;  <span class="comment">// `Files::attach()`, the third argument `authorized` is not specified because</span></div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  <span class="comment">// it is already specified when we do the attach for the executor&#39;s sandbox</span></div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  <span class="comment">// and it also applies to the executor&#39;s tasks. Note that for the second case</span></div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <span class="comment">// we can not do the attach when the task&#39;s ContainerInfo has a `SANDBOX_PATH`</span></div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  <span class="comment">// volume with type `PARENT` but the executor has NO disk resources, because</span></div><div class="line"><a name="l00473"></a><span clas
 s="lineno">  473</span>&#160;  <span class="comment">// in such case the attach will fail due to the executor&#39;s volume directory</span></div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="comment">// not existing which will actually be created by the `volume/sandbox_path`</span></div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  <span class="comment">// isolator when launching the nested container. But if the executor has disk</span></div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  <span class="comment">// resources, then we will not have this issue since the executor&#39;s volume</span></div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="comment">// directory will be created by the `filesystem/linux` isolator when launching</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;  <spa
 n class="comment">// the executor before we do the attach.</span></div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#ae960552ceef724d0391a3e35d2d00a71">attachTaskVolumeDirectory</a>(</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;      <span class="keyword">const</span> ContainerID&amp; executorContainerId,</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;      <span class="keyword">const</span> Task&amp; task);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="comment">// TODO(qianzhang): Remo
 ve the task&#39;s volume directory from the /files</span></div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="comment">// endpoint. This is a workaround for MESOS-8279 and MESOS-8565.</span></div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a30d96c36cbd0acafd0ccb8df227c382c">detachTaskVolumeDirectories</a>(</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;      <span class="keyword">const</span> ExecutorInfo&amp; executorInfo,</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;      <span class="keyword">const</span> ContainerID&amp; executorContainerId,</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;      <span class="keyword">const</span> std::vector&lt;Task&gt;&amp; tasks);</div><div class="line"
 ><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  <span class="comment">// Triggers a re-detection of the master when the slave does</span></div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;  <span class="comment">// not receive a ping.</span></div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aa14da55de5c585de7f443afa61e042d7">pingTimeout</a>(<a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.html">Option&lt;MasterInfo&gt;</a>&gt; future);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  <span class="keywordtype">void</span> <a class="code" hr
 ef="classmesos_1_1internal_1_1slave_1_1Slave.html#a2092a012c0c720534bee028e9b0064ab">authenticate</a>();</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div><div class="line"><a name="l004

<TRUNCATED>

[03/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2tests_2containerizer_2isolator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2tests_2containerizer_2isolator_8hpp_source.html b/content/api/latest/c++/src_2tests_2containerizer_2isolator_8hpp_source.html
index 17685da..0a64a08 100644
--- a/content/api/latest/c++/src_2tests_2containerizer_2isolator_8hpp_source.html
+++ b/content/api/latest/c++/src_2tests_2containerizer_2isolator_8hpp_source.html
@@ -52,16 +52,16 @@
 <div class="title">isolator.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2tests_2containerizer_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a
  name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span 
 class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TEST_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TEST_ISOLATOR_HPP__</span><
 /div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.h
 tml">internal</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Provides a mock Isolator that by default expects calls to</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Isolator::prepare, Isolator::isolate, Isolator::watch, and</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Isolator::cleanup and simply returns &quot;nothing&quot; as appropriate for</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// each call. This behavior can be overridden by adding EXPECT_CALL as</span></div><div class="line"><a name="l00032"></
 a><span class="lineno">   32</span>&#160;<span class="comment">// necessary. For example, if you don&#39;t expect any calls to</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// Isolator::cleanup you can do:</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//    .Times(0);</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00039"></a><span class="lineno">
    39</span>&#160;<span class="comment">// Or if you want to override that only a single invocation should</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// occur you can do:</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">//    .WillOnce(Return(ContainerLaunchInfo(...)));</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00046"></a><span class="lineno
 ">   46</span>&#160;<span class="comment">// But note that YOU MUST use exactly `prepare(_, _)` otherwise gmock</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// will not properly match this new expectation with the default</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// expectation created by MockIsolator.</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// In the event you want to override a single invocation but let all</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// subsequent invocations return the &quot;default&quot; you can do:</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</
 span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">//    .WillOnce(Return(ContainerLaunchInfo(...)))</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">//    .RetiresOnSaturation();</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// Another example, if you want to override what gets returned for a</span></div><div class="line"><a name="l00059"></a><span class="lin
 eno">   59</span>&#160;<span class="comment">// every invocation you can do:</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">//    .WillRepeatedly(Return(Failure(...)));</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// Again, YOU MUST use exactly `prepare(_, _)` to override the default</span></div><div class="line"><a name="l00066"></a><span
  class="lineno">   66</span>&#160;<span class="comment">// expectation.</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">   67</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">MockIsolator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe">   70</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eeb
 f3b67e55fe">MockIsolator</a>()</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  {</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(_, _))</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      .WillRepeatedly(Return(<a class="code" href="structNone.html">None</a>()));</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>(_, _))</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      .WillRepeatedly(Return(<a class="code" href="
 structNothing.html">Nothing</a>()));</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>(_))</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      .WillRepeatedly(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          Return(<a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>()));</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba
 4">cleanup</a>(_))</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      .WillRepeatedly(Return(<a class="code" href="structNothing.html">Nothing</a>()));</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  }</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a>(</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">recover</a>,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00089"></a><span c
 lass="lineno">   89</span>&#160;          <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp;,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp;));</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a>(</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a c
 lass="code" href="classOption.html">Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt;(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          <span class="keyword">const</span> mesos::slave::ContainerConfig&amp;));</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <a class="
 code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a>));</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));<
 /div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">MOCK_METHOD2</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">update</a>,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp;));</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; 
  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">usage</a>,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Is
 olator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">cleanup</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;};</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><
 span class="lineno">  123</span>&#160;<span class="preprocessor">#endif // __TEST_ISOLATOR_HPP__</span></div><div class="ttc" id="structNothing_html"><div class="ttname"><a href="structNothing.html">Nothing</a></div><div class="ttdef"><b>Definition:</b> nothing.hpp:16</div></div>
+<a href="src_2tests_2containerizer_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a
  name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span 
 class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __TEST_ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __TEST_ISOLATOR_HPP__</span><
 /div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">slave/containerizer/mesos/isolator.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.h
 tml">internal</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>tests {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Provides a mock Isolator that by default expects calls to</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Isolator::prepare, Isolator::isolate, Isolator::watch, and</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Isolator::cleanup and simply returns &quot;nothing&quot; as appropriate for</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// each call. This behavior can be overridden by adding EXPECT_CALL as</span></div><div class="line"><a name="l00032"></
 a><span class="lineno">   32</span>&#160;<span class="comment">// necessary. For example, if you don&#39;t expect any calls to</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// Isolator::cleanup you can do:</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//    .Times(0);</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00039"></a><span class="lineno">
    39</span>&#160;<span class="comment">// Or if you want to override that only a single invocation should</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// occur you can do:</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">//    .WillOnce(Return(ContainerLaunchInfo(...)));</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00046"></a><span class="lineno
 ">   46</span>&#160;<span class="comment">// But note that YOU MUST use exactly `prepare(_, _)` otherwise gmock</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// will not properly match this new expectation with the default</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// expectation created by MockIsolator.</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// In the event you want to override a single invocation but let all</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// subsequent invocations return the &quot;default&quot; you can do:</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</
 span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">//    .WillOnce(Return(ContainerLaunchInfo(...)))</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">//    .RetiresOnSaturation();</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// Another example, if you want to override what gets returned for a</span></div><div class="line"><a name="l00059"></a><span class="lin
 eno">   59</span>&#160;<span class="comment">// every invocation you can do:</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">//   MockIsolator isolator;</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">//   EXPECT_CALL(isolator, prepare(_, _))</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">//    .WillRepeatedly(Return(Failure(...)));</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// Again, YOU MUST use exactly `prepare(_, _)` to override the default</span></div><div class="line"><a name="l00066"></a><span
  class="lineno">   66</span>&#160;<span class="comment">// expectation.</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">   67</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html">MockIsolator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe">   70</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eeb
 f3b67e55fe">MockIsolator</a>()</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  {</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>(_, _))</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      .WillRepeatedly(Return(<a class="code" href="structNone.html">None</a>()));</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>(_, _))</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      .WillRepeatedly(Return(<a class="code" href="
 structNothing.html">Nothing</a>()));</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>(_))</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      .WillRepeatedly(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          Return(<a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>()));</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    EXPECT_CALL(*<span class="keyword">this</span>, <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba
 4">cleanup</a>(_))</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      .WillRepeatedly(Return(<a class="code" href="structNothing.html">Nothing</a>()));</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  }</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a>(</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">recover</a>,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(</div><div class="line"><a name="l00089"></a><span c
 lass="lineno">   89</span>&#160;          <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp;,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp;));</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a>(</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a35cb3afae3f941fd4450a763eb123d6d">prepare</a>,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a
  class="code" href="classOption.html">Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt;(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keyword">const</span> ContainerID&amp;,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          <span class="keyword">const</span> mesos::slave::ContainerConfig&amp;));</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a>(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a7a703b2b2cdc4efdaa0fd4519b7109f9">isolate</a>,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <a class
 ="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;, <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a>));</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#a45a7cb346acff6df9cb483d6b452ed5a">watch</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>(<span class="keyword">const</span> ContainerID&amp;))
 ;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">MOCK_METHOD2</a>(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">update</a>,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;, <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp;));</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160
 ;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1Isolator.html#ab2f31137c3fc9f4d012434586cd5b968">usage</a>,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">MOCK_METHOD1</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="classmesos_1_1slave_1_1
 Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">cleanup</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>(<span class="keyword">const</span> ContainerID&amp;));</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;};</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;} <span class="comment">// namespace tests {</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a
 ><span class="lineno">  123</span>&#160;<span class="preprocessor">#endif // __TEST_ISOLATOR_HPP__</span></div><div class="ttc" id="structNothing_html"><div class="ttname"><a href="structNothing.html">Nothing</a></div><div class="ttdef"><b>Definition:</b> nothing.hpp:16</div></div>
 <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; mesos::slave::ContainerLaunchInfo &gt;</a></div></div>
 <div class="ttc" id="classhashset_html"><div class="ttname"><a href="classhashset.html">hashset&lt; ContainerID &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1Resources_html"><div class="ttname"><a href="classmesos_1_1Resources.html">mesos::Resources</a></div><div class="ttdef"><b>Definition:</b> resources.hpp:79</div></div>
 <div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_aa595c17abce9442cc3ed1dd9c4ba6ba4"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#aa595c17abce9442cc3ed1dd9c4ba6ba4">mesos::slave::Isolator::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:128</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockIsolator_html_a3047e18411167965c9077f525c5cc707"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a3047e18411167965c9077f525c5cc707">mesos::internal::tests::MockIsolator::MOCK_METHOD1</a></div><div class="ttdeci">MOCK_METHOD1(watch, process::Future&lt; mesos::slave::ContainerLimitation &gt;(const ContainerID &amp;))</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockIsolator_html_ac1ed3bf54f9ce241a6d300d537b647ec"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac1ed3bf54f9ce241a6d300d537b647ec">mesos::internal::tests::MockIsolator::MOCK_METHOD2</a></div><div class="ttdeci">MOCK_METHOD2(recover, process::Future&lt; Nothing &gt;(const std::list&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;))</div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockIsolator_html_ac9c79f52b7b0a31641874e4a036a4359"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#ac9c79f52b7b0a31641874e4a036a4359">mesos::internal::tests::MockIsolator::MOCK_METHOD2</a></div><div class="ttdeci">MOCK_METHOD2(recover, process::Future&lt; Nothing &gt;(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;, const hashset&lt; ContainerID &gt; &amp;))</div></div>
 <div class="ttc" id="src_2slave_2containerizer_2mesos_2isolator_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">isolator.hpp</a></div></div>
 <div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html_ab03ced250ed239bc3b50b669493997f9"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a></div><div class="ttdeci">DWORD pid_t</div><div class="ttdef"><b>Definition:</b> windows.hpp:181</div></div>
-<div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a0d91782894ecd7bd20f5778d9e01c018"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a0d91782894ecd7bd20f5778d9e01c018">mesos::slave::Isolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:60</div></div>
+<div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_a67d35276d3fb6a19cd9290bb4c7aa7f7"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#a67d35276d3fb6a19cd9290bb4c7aa7f7">mesos::slave::Isolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:60</div></div>
 <div class="ttc" id="namespacemesos_html"><div class="ttname"><a href="namespacemesos.html">mesos</a></div><div class="ttdef"><b>Definition:</b> spec.hpp:30</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1tests_1_1MockIsolator_html_a2bb8379200cf31779e0eebf3b67e55fe"><div class="ttname"><a href="classmesos_1_1internal_1_1tests_1_1MockIsolator.html#a2bb8379200cf31779e0eebf3b67e55fe">mesos::internal::tests::MockIsolator::MockIsolator</a></div><div class="ttdeci">MockIsolator()</div><div class="ttdef"><b>Definition:</b> isolator.hpp:70</div></div>
 <div class="ttc" id="classmesos_1_1slave_1_1Isolator_html_aa4e5910588131613e4c10903282dc252"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html#aa4e5910588131613e4c10903282dc252">mesos::slave::Isolator::update</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; update(const ContainerID &amp;containerId, const Resources &amp;resources)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:98</div></div>


[44/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classes.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classes.html b/content/api/latest/c++/classes.html
index 2ac9221..b5c0616 100644
--- a/content/api/latest/c++/classes.html
+++ b/content/api/latest/c++/classes.html
@@ -117,9 +117,9 @@
 </td></tr>
 <tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1logger_1_1Flags.html">Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1logger.html">mesos::internal::logger</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits.html">MethodTraits</a> (<a class="el" href="namespaceprocess_1_1grpc_1_1client_1_1internal.html">process::grpc::client::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1v1_1_1executor_1_1V0ToV1Adapter.html">V0ToV1Adapter</a> (<a class="el" href="namespacemesos_1_1v1_1_1executor.html">mesos::v1::executor</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structmesos_1_1internal_1_1logger_1_1rotate_1_1Flags.html">Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1logger_1_1rotate.html">mesos::internal::logger::rotate</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits_3_01std_1_1unique__ptr_3_1_1grpc_1_1b922a69900827d65b241714130bc07ca.html">MethodTraits&lt; std::unique_ptr&lt;::grpc::ClientAsyncResponseReader&lt; Response &gt; &gt;(Stub::*)(::grpc::ClientContext *, const Request &amp;,::grpc::CompletionQueue *)&gt;</a> (<a class="el" href="namespaceprocess_1_1grpc_1_1client_1_1internal.html">process::grpc::client::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1slave_1_1QoSController.html">QoSController</a> (<a class="el" href="namespacemesos_1_1slave.html">mesos::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structJSON_1_1Value.html">Value</a> (<a c
 lass="el" href="namespaceJSON.html">JSON</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmesos_1_1internal_1_1logger_1_1rotate_1_1Flags.html">Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1logger_1_1rotate.html">mesos::internal::logger::rotate</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits_3_01std_1_1unique__ptr_3_1_1grpc_1_1b922a69900827d65b241714130bc07ca.html">MethodTraits&lt; std::unique_ptr&lt;::grpc::ClientAsyncResponseReader&lt; Response &gt; &gt;(Stub::*)(::grpc::ClientContext *, const Request &amp;,::grpc::CompletionQueue *)&gt;</a> (<a class="el" href="namespaceprocess_1_1grpc_1_1client_1_1internal.html">process::grpc::client::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1slave_1_1QoSController.html">QoSController</a> (<a class="el" href="namespacemesos_1_1slave.html">mesos::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1TimeSeries_1_1Value.html
 ">TimeSeries::Value</a> (<a class="el" href="namespaceprocess.html">process</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1FetcherProcess_1_1Cache.html">FetcherProcess::Cache</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1IOSwitchboardServer_1_1Flags.html">IOSwitchboardServer::Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1metrics_1_1Metric.html">Metric</a> (<a class="el" href="namespaceprocess_1_1metrics.html">process::metrics</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1Queue.html">Queue</a> (<a class="el" href="namespaceprocess.html">process</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcgroups_1_1blkio_1_1Value.html">Value</a> (<a class="el" href="namespacecgroups_1_1blkio.html">cgroups::blkio</a>)&#
 160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">NetworkCniIsolatorSetup::Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1Metrics.html">Metrics</a> (<a class="el" href="namespacemesos_1_1internal_1_1master_1_1allocator_1_1internal.html">mesos::internal::master::allocator::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structQuota.html">Quota</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1TimeSeries_1_1Value.html">TimeSeries::Value</a> (<a class="el" href="namespaceprocess.html">process</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1NetworkCniIsolatorSetup_1_1Flags.html">NetworkCniIsolatorSetup::Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1master_1_1allocator_1_1internal_1_1Metrics.html">Metrics</a> (<a class="el" href="namespacemesos_1_1internal_1_1master_1_1allocator_1_1internal.html">mesos::internal::master::allocator::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structQuota.html">Quota</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structJSON_1_1Value.html">Value</a> (<a class="el" href="namespaceJSON.html">JSON</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1appc_1_1Cache.html">Cache</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave_1_1appc.html">mesos::internal::slave::appc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1PortMappingUpdate_1_1Flags.html">PortMappingUpdate::Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1master_1_1allocator_1_1Metrics.html">Metrics</a> (<a class="el" href="namespacemesos_1_1internal_1_1master_1_1allocator.html">mesos::internal::master::allocator</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1xfs_1_1QuotaInfo.html">QuotaInfo</a> (<a class="el" href="namespacemesos_1_1internal_1_1xfs.html">mesos::internal::xfs</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classJvm_1_1Varia
 ble.html">Jvm::Variable</a>&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="classlambda_1_1CallableOnce.html">CallableOnce</a> (<a class="el" href="namespacelambda.html">lambda</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1PortMappingStatistics_1_1Flags.html">PortMappingStatistics::Flags</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1master_1_1Metrics.html">Metrics</a> (<a class="el" href="namespacemesos_1_1internal_1_1master.html">mesos::internal::master</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="classmesos_1_1state_1_1Variable.html">Variable</a> (<a class="el" href="namespacemesos_1_1state.html">mesos::state</a>)&#160;&#160;&#160;</td></tr>
@@ -150,8 +150,8 @@
 <tr><td valign="top"><a class="el" href="classmesos_1_1http_1_1authentication_1_1CombinedAuthenticator.html">CombinedAuthenticator</a> (<a class="el" href="namespacemesos_1_1http_1_1authentication.html">mesos::http::authentication</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1Gate.html">Gate</a> (<a class="el" href="namespaceprocess.html">process</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockRegistrar.html">MockRegistrar</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1log_1_1Replica.html">Replica</a> (<a class="el" href="namespacemesos_1_1internal_1_1log.html">mesos::internal::log</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsFilesystemIsolatorProcess.html">WindowsFilesystemIsolatorProcess</a> (<a class="
 el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="structmesos_1_1internal_1_1checks_1_1check_1_1Command.html">Command</a> (<a class="el" href="namespacemesos_1_1internal_1_1checks_1_1check.html">mesos::internal::checks::check</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1resource__provider_1_1GenericRegistrar.html">GenericRegistrar</a> (<a class="el" href="namespacemesos_1_1resource__provider.html">mesos::resource_provider</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockResourceEstimator.html">MockResourceEstimator</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structRepresentation.html">Representation</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1WindowsMemIsolatorProcess.html">WindowsMemIsolatorProcess</a> (<a class="el" href="namespacemesos_1_1int
 ernal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="structJSON_1_1Comparator.html">Comparator</a> (<a class="el" href="namespaceJSON.html">JSON</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1slave_1_1Gpu.html">Gpu</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1resource__provider_1_1MockResourceProvider.html">MockResourceProvider</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests_1_1resource__provider.html">mesos::internal::tests::resource_provider</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classReqResProcess.html">ReqResProcess</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classWindowsSocketError.html">WindowsSocketError</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1ComposingContainerizer.html">ComposingContainerizer</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classzookeeper_1_1Group.html">Group</a> (<a class="el" href="namespacezookeeper.html">zookeeper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockScheduler.html">MockScheduler</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1http_1_1Request.html">Request</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1log_1_1Log_1_1Writer.html">Log::Writer</a> (<a class="el" href="namespacemesos_1_1log.html">mesos::log</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structprocess_1_1http_1_1Conflict.html">Conflict</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classzookeeper_1_1GroupProcess.html">GroupProcess</a> (<a class="el" href="namespacezookeeper.html">zookeeper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSecretGenerator.html">MockSecretGenerator</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1RequestMediaTypes.html">RequestMediaTypes</a> (<a class="el" href="namespacemesos_1_1internal.html">mesos::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">Pipe::Writer</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td></
 tr>
+<tr><td valign="top"><a class="el" href="classmesos_1_1internal_1_1slave_1_1ComposingContainerizer.html">ComposingContainerizer</a> (<a class="el" href="namespacemesos_1_1internal_1_1slave.html">mesos::internal::slave</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classzookeeper_1_1Group.html">Group</a> (<a class="el" href="namespacezookeeper.html">zookeeper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockScheduler.html">MockScheduler</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structprocess_1_1http_1_1Request.html">Request</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">Pipe::Writer</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;<
 /td></tr>
+<tr><td valign="top"><a class="el" href="structprocess_1_1http_1_1Conflict.html">Conflict</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classzookeeper_1_1GroupProcess.html">GroupProcess</a> (<a class="el" href="namespacezookeeper.html">zookeeper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSecretGenerator.html">MockSecretGenerator</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmesos_1_1internal_1_1RequestMediaTypes.html">RequestMediaTypes</a> (<a class="el" href="namespacemesos_1_1internal.html">mesos::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1log_1_1Log_1_1Writer.html">Log::Writer</a> (<a class="el" href="namespacemesos_1_1log.html">mesos::log</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="classprocess_1_1grpc_1_1client_1_1Connection.html">Connection</a> (<a class="el" href="namespaceprocess_1_1grpc_1_1client.html">process::grpc::client</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgzip_1_1internal_1_1GzipError.html">GzipError</a> (<a class="el" href="namespacegzip_1_1internal.html">gzip::internal</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1MockSlave.html">MockSlave</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1ResourceConversion.html">ResourceConversion</a> (<a class="el" href="namespacemesos.html">mesos</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classJSON_1_1WriterProxy.html">WriterProxy</a> (<a class="el" href="namespaceJSON.html">JSON</a>)&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="classprocess_1_1http_1_1Connection.html">Connection</a> (<a class="el" href="namespaceprocess_1_1http.html">process::http</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="classmesos_1_1internal_1_1tests_1_1Module.html">Module</a> (<a class="el" href="namespacemesos_1_1internal_1_1tests.html">mesos::internal::tests</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmesos_1_1v1_1_1ResourceConversion.html">ResourceConversion</a> (<a class="el" href="namespacemesos_1_1v1.html">mesos::v1</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classprocess_1_1http_1_1header_1_1WWWAuthenticate.html">WWWAuthenticate</a> (<a class="el" href="namespaceprocess_1_1http_1_1header.html">process::http::header</a>)&#160;&#160;&#160;</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classhashmap-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classhashmap-members.html b/content/api/latest/c++/classhashmap-members.html
index acd273a..e25301a 100644
--- a/content/api/latest/c++/classhashmap-members.html
+++ b/content/api/latest/c++/classhashmap-members.html
@@ -63,7 +63,7 @@
   <tr><td class="entry"><a class="el" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">keys</a>() const </td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; Key, Value, Hash, Equal &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#af69989fa69c86b7bf1843c9ae0f77124">put</a>(const Key &amp;key, Value &amp;&amp;value)</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; Key, Value, Hash, Equal &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(const Key &amp;key, const Value &amp;value)</td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; Key, Value, Hash, Equal &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">values</a>() const </td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; Key, Value, Hash, Equal &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">values</a>() const </td><td class="entry"><a class="el" href="classhashmap.html">hashmap&lt; Key, Value, Hash, Equal &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classhashmap.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classhashmap.html b/content/api/latest/c++/classhashmap.html
index a66d22e..ba17d11 100644
--- a/content/api/latest/c++/classhashmap.html
+++ b/content/api/latest/c++/classhashmap.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a41f14039c11b5a1ab6c81add74192c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afcc8b695facd0da04bb0d5b774e0d616"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhashset.html">hashset</a>&lt; Key &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#afcc8b695facd0da04bb0d5b774e0d616">keys</a> () const </td></tr>
 <tr class="separator:afcc8b695facd0da04bb0d5b774e0d616"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e6a1fdf47dc2216eb8c0900e0bc969e"><td class="memItemLeft" align="right" valign="top">std::list&lt; Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#a3e6a1fdf47dc2216eb8c0900e0bc969e">values</a> () const </td></tr>
-<tr class="separator:a3e6a1fdf47dc2216eb8c0900e0bc969e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21a6e0bdd1e079aec882826188899387"><td class="memItemLeft" align="right" valign="top">std::vector&lt; Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhashmap.html#a21a6e0bdd1e079aec882826188899387">values</a> () const </td></tr>
+<tr class="separator:a21a6e0bdd1e079aec882826188899387"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a350788fe2e70ba05fee66adbb5026d84"></a>
@@ -369,7 +369,7 @@ template&lt;typename Key, typename Value, typename Hash = typename std::conditio
 
 </div>
 </div>
-<a class="anchor" id="a3e6a1fdf47dc2216eb8c0900e0bc969e"></a>
+<a class="anchor" id="a21a6e0bdd1e079aec882826188899387"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -379,7 +379,7 @@ template&lt;typename Key, typename Value, typename Hash = typename std::conditio
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">std::list&lt;Value&gt; <a class="el" href="classhashmap.html">hashmap</a>&lt; Key, Value, Hash, Equal &gt;::values </td>
+          <td class="memname">std::vector&lt;Value&gt; <a class="el" href="classhashmap.html">hashmap</a>&lt; Key, Value, Hash, Equal &gt;::values </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td> const</td>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess-members.html
index e20870d..042cbf4 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html#abf6c41985fbe21ab03e1355d62be492c">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html">mesos::internal::slave::AppcRuntimeIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html
index 59ef0f5..7188013 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1AppcRuntimeIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess-members.html
index a81b6c4..84f8a48 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">mesos::internal::slave::CgroupsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">mesos::internal::slave::CgroupsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html">mesos::internal::slave::CgroupsIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html
index 6f54b82..820d2e2 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html
@@ -82,8 +82,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:abc18c8ede13ce1178d3cc54555082aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab81d33f41b5a3fc2c236bcd8ff0b4e46"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab81d33f41b5a3fc2c236bcd8ff0b4e46">supportsStandalone</a> ()</td></tr>
 <tr class="separator:ab81d33f41b5a3fc2c236bcd8ff0b4e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab24786a8441e1550e4f007c2aa2a958e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab24786a8441e1550e4f007c2aa2a958e">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:ab24786a8441e1550e4f007c2aa2a958e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89675b3cc1907054e4787f9967d49c58"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a89675b3cc1907054e4787f9967d49c58">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a89675b3cc1907054e4787f9967d49c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab9452f024759552766a99824d73cafae"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#ab9452f024759552766a99824d73cafae">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:ab9452f024759552766a99824d73cafae"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a01b0f952a8b793faac974c34fd5a4967"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1CgroupsIsolatorProcess.html#a01b0f952a8b793faac974c34fd5a4967">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
@@ -359,7 +359,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ab24786a8441e1550e4f007c2aa2a958e"></a>
+<a class="anchor" id="a89675b3cc1907054e4787f9967d49c58"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -369,7 +369,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::CgroupsIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -391,7 +391,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess-members.html
index eae22de..5ffdd49 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html#a5248c2c45099c00b16bb7ab5e5cc7e02">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html">mesos::internal::slave::DockerRuntimeIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html
index 185fa87..8c9115a 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerRuntimeIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess-members.html
index f87a957..c8f25ff 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess-members.html
@@ -84,7 +84,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">mesos::internal::slave::DockerVolumeIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">mesos::internal::slave::DockerVolumeIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html">mesos::internal::slave::DockerVolumeIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html
index 4a171c5..845d0b8 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html
@@ -82,8 +82,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:ab062769cb109a8b15771346fa50c5683"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aad9368d0d4bdeff7781aae7e1cf45d95"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#aad9368d0d4bdeff7781aae7e1cf45d95">supportsStandalone</a> ()</td></tr>
 <tr class="separator:aad9368d0d4bdeff7781aae7e1cf45d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2ae1c7f126584259b1e75769957b934"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#ac2ae1c7f126584259b1e75769957b934">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:ac2ae1c7f126584259b1e75769957b934"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fc8cf2248d2bdb7986821f88b2c25bb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a7fc8cf2248d2bdb7986821f88b2c25bb">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a7fc8cf2248d2bdb7986821f88b2c25bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a51a3341ecc4035d8605273b974237b39"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="classOption.html">Option</a>&lt; mesos::slave::ContainerLaunchInfo &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a51a3341ecc4035d8605273b974237b39">prepare</a> (const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td></tr>
 <tr class="separator:a51a3341ecc4035d8605273b974237b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3312d2d13db033844fe11ac581d4d1d0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1DockerVolumeIsolatorProcess.html#a3312d2d13db033844fe11ac581d4d1d0">cleanup</a> (const ContainerID &amp;containerId)</td></tr>
@@ -359,7 +359,7 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ac2ae1c7f126584259b1e75769957b934"></a>
+<a class="anchor" id="a7fc8cf2248d2bdb7986821f88b2c25bb"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -369,7 +369,7 @@ Additional Inherited Members</h2></td></tr>
         <tr>
           <td class="memname">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="el" href="structNothing.html">Nothing</a>&gt; mesos::internal::slave::DockerVolumeIsolatorProcess::recover </td>
           <td>(</td>
-          <td class="paramtype">const std::list&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
+          <td class="paramtype">const std::vector&lt; mesos::slave::ContainerState &gt; &amp;&#160;</td>
           <td class="paramname"><em>states</em>, </td>
         </tr>
         <tr>
@@ -391,7 +391,7 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
+<p>Reimplemented from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess</a>.</p>
 
 </div>
 </div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess-members.html
index b84349c..0233a1b 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html#a2f03baa1e274f77828757b3699b3a523">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html">mesos::internal::slave::EnvironmentSecretIsolatorProcess</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a70ff038897726b5ff2713e5d5602efa6">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, Future&lt; http::Response &gt;(T::*method)(const http::Request &amp;), const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html
index 500ea65..8a99157 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1EnvironmentSecretIsolatorProcess.html
@@ -86,8 +86,8 @@ Public Member Functions</h2></td></tr>
 <tr class="inherit_header pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">mesos::internal::slave::MesosIsolatorProcess</a></td></tr>
 <tr class="memitem:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a> ()</td></tr>
 <tr class="separator:ae62fa51227866cc1717d788a133b6608 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a> (const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
-<tr class="separator:adea82f6dd9074b11d8655f3ddbd2c7c7 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a> (const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const <a class="el" href="classhashset.html">hashset</a>&lt; ContainerID &gt; &amp;orphans)</td></tr>
+<tr class="separator:a426eac2fa6176c91bef2cb8175eab24f inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; <a class="el" href="structNothing.html">Nothing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a> (const ContainerID &amp;containerId, <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</td></tr>
 <tr class="separator:a9be889e55c9fa3b300a1a2c30c19e35e inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1dd1c873155700d4f1e3ebb1421057f3 inherit pub_methods_classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classprocess_1_1Future.html">process::Future</a>&lt; mesos::slave::ContainerLimitation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">watch</a> (const ContainerID &amp;containerId)</td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor-members.html
index 049ae3c..b995a58 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor-members.html
@@ -83,7 +83,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d">launchedTasks</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151">pendingTermination</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8">pid</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">queuedTaskGroups</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed">queuedTaskGroups</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">queuedTasks</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a89977a8c4cec7c54a41f20e763532b3c">recoverTask</a>(const state::TaskState &amp;state, bool recheckpointTask)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d">REGISTERING</a> enum value</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">mesos::internal::slave::Executor</a></td><td class="entry"></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor.html
index 8834704..0860ee1 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Executor.html
@@ -139,8 +139,8 @@ Public Attributes</h2></td></tr>
 <tr class="separator:a29666bff86d8f043ce5ba4f8a4ccb0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a806e8af598eb003694dbaeacdda2c66b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; TaskID, TaskInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">queuedTasks</a></td></tr>
 <tr class="separator:a806e8af598eb003694dbaeacdda2c66b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2fc2e9b051c144f259f003b79a3d5ec3"><td class="memItemLeft" align="right" valign="top">std::list&lt; TaskGroupInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">queuedTaskGroups</a></td></tr>
-<tr class="separator:a2fc2e9b051c144f259f003b79a3d5ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d9f183a72bf7104a6f3cfdd5195bfed"><td class="memItemLeft" align="right" valign="top">std::vector&lt; TaskGroupInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9d9f183a72bf7104a6f3cfdd5195bfed">queuedTaskGroups</a></td></tr>
+<tr class="separator:a9d9f183a72bf7104a6f3cfdd5195bfed"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8c9a1989d4b769bbccd7ce7385fd054d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; TaskID, Task * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d">launchedTasks</a></td></tr>
 <tr class="separator:a8c9a1989d4b769bbccd7ce7385fd054d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:abd7e32a67b2bf5409c1ab855f3220625"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classLinkedHashMap.html">LinkedHashMap</a>&lt; TaskID, Task * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abd7e32a67b2bf5409c1ab855f3220625">terminatedTasks</a></td></tr>
@@ -665,12 +665,12 @@ template&lt;typename Message &gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="a2fc2e9b051c144f259f003b79a3d5ec3"></a>
+<a class="anchor" id="a9d9f183a72bf7104a6f3cfdd5195bfed"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std::list&lt;TaskGroupInfo&gt; mesos::internal::slave::Executor::queuedTaskGroups</td>
+          <td class="memname">std::vector&lt;TaskGroupInfo&gt; mesos::internal::slave::Executor::queuedTaskGroups</td>
         </tr>
       </table>
 </div><div class="memdoc">

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework-members.html
index 9886dca..6543eda 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework-members.html
@@ -76,7 +76,7 @@
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ac08555852cd25a946886181831cb423e">idle</a>() const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2">info</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab67788cb552b7320783b7ecd7b80f82a">isPending</a>(const TaskID &amp;taskId) const </td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">pendingTaskGroups</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82">pendingTaskGroups</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da">pendingTasks</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461">pid</a></td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a440112e6053e7d36a46c18580a1b5133">recoverExecutor</a>(const state::ExecutorState &amp;state, bool recheckpointExecutor, const hashset&lt; TaskID &gt; &amp;tasksToRecheckpoint)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html">mesos::internal::slave::Framework</a></td><td class="entry"></td></tr>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework.html
index 458381b..9f00b5f 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1Framework.html
@@ -124,8 +124,8 @@ Public Attributes</h2></td></tr>
 <tr class="separator:a895612a28929288abe2071620d7958da"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a216f08b1add210f581feac4f32980ba4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhashmap.html">hashmap</a>&lt; ExecutorID, <a class="el" href="classprocess_1_1Sequence.html">process::Sequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a216f08b1add210f581feac4f32980ba4">taskLaunchSequences</a></td></tr>
 <tr class="separator:a216f08b1add210f581feac4f32980ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa52d24c559cecfc18ba6167dd72c1988"><td class="memItemLeft" align="right" valign="top">std::list&lt; TaskGroupInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">pendingTaskGroups</a></td></tr>
-<tr class="separator:aa52d24c559cecfc18ba6167dd72c1988"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab65e86cf570efa3692d0453d4f875d82"><td class="memItemLeft" align="right" valign="top">std::vector&lt; TaskGroupInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab65e86cf570efa3692d0453d4f875d82">pendingTaskGroups</a></td></tr>
+<tr class="separator:ab65e86cf570efa3692d0453d4f875d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a67ace79356a9523a2486d8ffd235847f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhashmap.html">hashmap</a>&lt; ExecutorID, <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f">executors</a></td></tr>
 <tr class="separator:a67ace79356a9523a2486d8ffd235847f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a64da4492057ddd2ed2019e737819d79b"><td class="memItemLeft" align="right" valign="top">boost::circular_buffer&lt; <a class="el" href="classprocess_1_1Owned.html">process::Owned</a>&lt; <a class="el" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a64da4492057ddd2ed2019e737819d79b">completedExecutors</a></td></tr>
@@ -550,12 +550,12 @@ Public Attributes</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="aa52d24c559cecfc18ba6167dd72c1988"></a>
+<a class="anchor" id="ab65e86cf570efa3692d0453d4f875d82"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std::list&lt;TaskGroupInfo&gt; mesos::internal::slave::Framework::pendingTaskGroups</td>
+          <td class="memname">std::vector&lt;TaskGroupInfo&gt; mesos::internal::slave::Framework::pendingTaskGroups</td>
         </tr>
       </table>
 </div><div class="memdoc">

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard-members.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard-members.html b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard-members.html
index 5cc702b..6bf8e55 100644
--- a/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard-members.html
+++ b/content/api/latest/c++/classmesos_1_1internal_1_1slave_1_1IOSwitchboard-members.html
@@ -85,7 +85,7 @@
   <tr><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ad58eafeb96f1c2b760e6f2652c1fbabc">prepare</a>(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">mesos::internal::slave::IOSwitchboard</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(const std::string &amp;id=&quot;&quot;)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a6b32f94df3a92225825a1cc426b060c8">provide</a>(const std::string &amp;name, const std::string &amp;path, const std::map&lt; std::string, std::string &gt; &amp;types=mime::types)</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a502c8a09876e5a6f5ca0654297999a18">recover</a>(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">mesos::internal::slave::IOSwitchboard</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#ab1d7d003cfa4c8c25bdc98f91619e71a">recover</a>(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">mesos::internal::slave::IOSwitchboard</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#a39f8e327dc132dd4a3a95fee650458f8">RemoteConnection</a> enum name</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html#a57df4d6ba6123bf8af2f4fb15850f2ed">requiresServer</a>(const mesos::slave::ContainerConfig &amp;containerConfig)</td><td class="entry"><a class="el" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">mesos::internal::slave::IOSwitchboard</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html#af0d1a6f8da798dfb2b6ea92550b8c6f5">route</a>(const std::string &amp;name, const Option&lt; std::string &gt; &amp;help, const HttpRequestHandler &amp;handler, const RouteOptions &amp;options=RouteOptions())</td><td class="entry"><a class="el" href="classprocess_1_1ProcessBase.html">process::ProcessBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>


[22/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/memory_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/memory_8hpp_source.html b/content/api/latest/c++/memory_8hpp_source.html
index d1d903d..b87c2ce 100644
--- a/content/api/latest/c++/memory_8hpp_source.html
+++ b/content/api/latest/c++/memory_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">memory.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="memory_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span clas
 s="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distribute
 d under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_
 HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lin
 eno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linux_2cgroups_8hpp.html">linux/cgroups.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="pr
 eprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2cgroups_2constants_8hpp.html">slave/containerizer/mesos/isolators/cgroups/constants.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="subsystem_8hpp.html">slave/containerizer/mesos/isolators/cgroups/subsystem.hpp</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</
 div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">   44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">MemorySubsystemProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html">SubsystemProcess</a></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class=
 "lineno">   46</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process::Owned&lt;SubsystemProcess&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#af4081dd5f2a08a152cedecea66ad7962">create</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html#add12d0328bf522abd5c78c6665b9b6d0">hierarchy</a>);</div><div class="line"><a name="l00050"></a><span class=
 "lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a903253fdf5b67cb0ea826d0e4694bf46">~MemorySubsystemProcess</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a482aba305ec6f06a72da4fde6678f605">   53</a></span>&#160;  std::string <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a482aba305ec6f06a72da4fde6678f605">name</a>()<span class="keyword"> const override</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00055"></a><span class=
 "lineno">   55</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacemesos_1_1internal_1_1slave.html#a0eefa18e1693bce4c6618c0884c5bf4f">CGROUP_SUBSYSTEM_MEMORY_NAME</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a208fc30942f602391fcdfff11d77d83b">prepare</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="na
 mespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>) <span class="keyword">override</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a">recover</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   
 66</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#adb5dc4b0249eb217a1fa0bfc7a0ea8b1">watch</a>(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#aea53e1dd93c292a72e5501cdd16218fe">update</a>(</div><di
 v class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keyword">override</span>;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#abf9a60c7c5023ac6a0a51ef1e5c51409">usage</a>(</div><div class="line"><a name="l00076"></a><span class="lin
 eno">   76</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a55ca8a497e217118e1f340177596fdde">cleanup</a>(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">ov
 erride</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="comment">// Used to cancel the OOM listening.</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> oomNotifier;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="classhashmap.html">hashmap</a>&l
 t;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <a class="code" href="namespacecgroups_1_1memory_1_1pressure.html#ad8d4aa5c0e09cc87fef44d6713f7b61f">cgroups::memory::pressure::Level</a>,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;cgroups::memory::pressure::Counter&gt;</a>&gt; pressureCounters;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  };</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96<
 /span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">MemorySubsystemProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags, <span class="keyword">const</span> std::string&amp; hierarchy);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> _usage(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      ResourceStatistics result,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keyword">const</span> std::list&lt
 ;cgroups::memory::pressure::Level&gt;&amp; levels,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;uint64_t&gt;</a>&gt;&amp; values);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="comment">// Start listening on OOM events. This function will create an</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="comment">// eventfd and start polling on it.</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keywordtype">void</span> oomListen(</div><div class="line"><a name="l00107"></a><span class="lineno">
   107</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="comment">// This function is invoked when the polling on eventfd has a</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// result.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> oomWaited(</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  
     <span class="keyword">const</span> std::string&amp; cgroup,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="comment">// Start listening on memory pressure events.</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keywordtype">void</span> pressureListen(</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup);</div><div class="line"
 ><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// Stores cgroups associated information for container.</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;} <span class="comment">// namespace mesos {</s
 pan></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#endif // __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess_html_af4081dd5f2a08a152cedecea66ad7962"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#af4081dd5f2a08a152cedecea66ad7962">mesos::internal::slave::MemorySubsystemProcess::create</a></div><div class="ttdeci">static Try&lt; process::Owned&lt; SubsystemProcess &gt; &gt; create(const Flags &amp;flags, const std::string &amp;hierarchy)</div></div>
+<a href="memory_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span clas
 s="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// distribute
 d under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_
 HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="l
 ineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="try_8hpp.html">stout/try.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linux_2cgroups_8hpp.html">linux/cgroups.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="
 preprocessor">#include &quot;<a class="code" href="src_2slave_2flags_8hpp.html">slave/flags.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2mesos_2isolators_2cgroups_2constants_8hpp.html">slave/containerizer/mesos/isolators/cgroups/constants.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="subsystem_8hpp.html">slave/containerizer/mesos/isolators/cgroups/subsystem.hpp</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {
 </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">   44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">MemorySubsystemProcess</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html">SubsystemProcess</a></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div><div class="line"><a name="l00046"></a><span clas
 s="lineno">   46</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;process::Owned&lt;SubsystemProcess&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#af4081dd5f2a08a152cedecea66ad7962">create</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html#add12d0328bf522abd5c78c6665b9b6d0">hierarchy</a>);</div><div class="line"><a name="l00050"></a><span clas
 s="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a903253fdf5b67cb0ea826d0e4694bf46">~MemorySubsystemProcess</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a482aba305ec6f06a72da4fde6678f605">   53</a></span>&#160;  std::string <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a482aba305ec6f06a72da4fde6678f605">name</a>()<span class="keyword"> const override</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00055"></a><span clas
 s="lineno">   55</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacemesos_1_1internal_1_1slave.html#a0eefa18e1693bce4c6618c0884c5bf4f">CGROUP_SUBSYSTEM_MEMORY_NAME</a>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a208fc30942f602391fcdfff11d77d83b">prepare</a>(</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> std::string&amp; <a class="code" href="
 namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroup</a>) <span class="keyword">override</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a">recover</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 
   66</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#adb5dc4b0249eb217a1fa0bfc7a0ea8b1">watch</a>(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#aea53e1dd93c292a72e5501cdd16218fe">update</a>(</div><
 div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources) <span class="keyword">override</span>;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#abf9a60c7c5023ac6a0a51ef1e5c51409">usage</a>(</div><div class="line"><a name="l00076"></a><span class="l
 ineno">   76</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">override</span>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a55ca8a497e217118e1f340177596fdde">cleanup</a>(</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup) <span class="keyword">
 override</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">struct </span>Info</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="comment">// Used to cancel the OOM listening.</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> oomNotifier;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="classhashmap.html">hashmap</a>
 &lt;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <a class="code" href="namespacecgroups_1_1memory_1_1pressure.html#ad8d4aa5c0e09cc87fef44d6713f7b61f">cgroups::memory::pressure::Level</a>,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;cgroups::memory::pressure::Counter&gt;</a>&gt; pressureCounters;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerLimitation&gt;</a> limitation;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  };</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   9
 6</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html">MemorySubsystemProcess</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags, <span class="keyword">const</span> std::string&amp; hierarchy);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> _usage(</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      ResourceStatistics result,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keyword">const</span> std::vecto
 r&lt;cgroups::memory::pressure::Level&gt;&amp; levels,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;uint64_t&gt;</a>&gt;&amp; values);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="comment">// Start listening on OOM events. This function will create an</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="comment">// eventfd and start polling on it.</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keywordtype">void</span> oomListen(</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,
 </div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="comment">// This function is invoked when the polling on eventfd has a</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// result.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> oomWaited(</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup,</div><div class="line"><
 a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&amp; future);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="comment">// Start listening on memory pressure events.</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keywordtype">void</span> pressureListen(</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">const</span> std::string&amp; cgroup);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a 
 name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// Stores cgroups associated information for container.</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Info&gt;</a>&gt; infos;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;
 </div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#endif // __CGROUPS_ISOLATOR_SUBSYSTEMS_MEMORY_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess_html_af4081dd5f2a08a152cedecea66ad7962"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#af4081dd5f2a08a152cedecea66ad7962">mesos::internal::slave::MemorySubsystemProcess::create</a></div><div class="ttdeci">static Try&lt; process::Owned&lt; SubsystemProcess &gt; &gt; create(const Flags &amp;flags, const std::string &amp;hierarchy)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess_html_a208fc30942f602391fcdfff11d77d83b"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a208fc30942f602391fcdfff11d77d83b">mesos::internal::slave::MemorySubsystemProcess::prepare</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; prepare(const ContainerID &amp;containerId, const std::string &amp;cgroup) override</div></div>
 <div class="ttc" id="src_2slave_2containerizer_2mesos_2isolators_2cgroups_2constants_8hpp_html"><div class="ttname"><a href="src_2slave_2containerizer_2mesos_2isolators_2cgroups_2constants_8hpp.html">constants.hpp</a></div></div>
 <div class="ttc" id="namespacemesos_1_1internal_1_1slave_html_a0eefa18e1693bce4c6618c0884c5bf4f"><div class="ttname"><a href="namespacemesos_1_1internal_1_1slave.html#a0eefa18e1693bce4c6618c0884c5bf4f">mesos::internal::slave::CGROUP_SUBSYSTEM_MEMORY_NAME</a></div><div class="ttdeci">const std::string CGROUP_SUBSYSTEM_MEMORY_NAME</div><div class="ttdef"><b>Definition:</b> constants.hpp:48</div></div>
@@ -71,7 +71,6 @@
 <div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise&lt; mesos::slave::ContainerLimitation &gt;</a></div></div>
 <div class="ttc" id="namespacecgroups_1_1blkio_html_a72e1e4307b04bca27a0072da0a06dbd7"><div class="ttname"><a href="namespacecgroups_1_1blkio.html#a72e1e4307b04bca27a0072da0a06dbd7">cgroups::blkio::cgroup</a></div><div class="ttdeci">Result&lt; std::string &gt; cgroup(pid_t pid)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1SubsystemProcess_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1SubsystemProcess.html">mesos::internal::slave::SubsystemProcess</a></div><div class="ttdef"><b>Definition:</b> subsystem.hpp:186</div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess_html_adb5dc4b0249eb217a1fa0bfc7a0ea8b1"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#adb5dc4b0249eb217a1fa0bfc7a0ea8b1">mesos::internal::slave::MemorySubsystemProcess::watch</a></div><div class="ttdeci">process::Future&lt; mesos::slave::ContainerLimitation &gt; watch(const ContainerID &amp;containerId, const std::string &amp;cgroup) override</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess_html_a8721021ef52abf9192ed8134bdd3b93a"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MemorySubsystemProcess.html#a8721021ef52abf9192ed8134bdd3b93a">mesos::internal::slave::MemorySubsystemProcess::recover</a></div><div class="ttdeci">process::Future&lt; Nothing &gt; recover(const ContainerID &amp;containerId, const std::string &amp;cgroup) override</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/mock__docker_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/mock__docker_8hpp.html b/content/api/latest/c++/mock__docker_8hpp.html
index 2cf2a2b..223cff5 100644
--- a/content/api/latest/c++/mock__docker_8hpp.html
+++ b/content/api/latest/c++/mock__docker_8hpp.html
@@ -55,8 +55,7 @@
 <div class="title">mock_docker.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;map&gt;</code><br />
+<div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
 <code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;gmock/gmock.h&gt;</code><br />


[07/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp_source.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp_source.html
index 7e6004d..a6f9251 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp_source.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2containerizer_8hpp_source.html
@@ -52,14 +52,14 @@
 <div class="title">containerizer.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2slave_2containerizer_2mesos_2containerizer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div cla
 ss="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>
 &#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_CONTAINERIZER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_CON
 TAINERIZER_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resolver_8hpp.html">mesos/secret/resolver.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><d
 iv class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sequence_8hpp.html">process/sequence.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lin
 eno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="multihashmap_8hpp.html">stout/multihashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="int__fd_8hpp.html">stout/os/int_fd.hpp</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#
 160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2state_8hpp.html">slave/state.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2containerizer_8hpp.html">slave/containerizer/containerizer.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a
  name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="switchboard_8hpp.html">slave/containerizer/mesos/io/switchboard.hpp</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="nvidia_8hpp.html">slave/containerizer/mesos/isolators/gpu/nvidia.hpp</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="provisioner_8hpp.html">slave/containerizer/mesos/provisioner/provisioner.hpp</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"
 >   50</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// If the container class is not of type `DEBUG` (i.e., it is not set or</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// `DEFAULT`), we log the line at the INFO level. Otherwise, we use VLOG(1).</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// The p
 urpose of this macro is to avoid polluting agent logs with information</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// related to `DEBUG` containers as this type of container can run periodically.</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="src_2slave_2containerizer_2mesos_2containerizer_8hpp.html#ac350b8c66675799461b2d9c3f29ca47f">   58</a></span>&#160;<span class="preprocessor">#define LOG_BASED_ON_CLASS(containerClass) \</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">  LOG_IF(INFO, (containerClass != ContainerClass::DEBUG) || VLOG_IS_ON(1))</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l
 00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">class </span>MesosContainerizerProcess;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html">   65</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html">MesosContainerizer</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">Containerizer</a></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68
 </span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;MesosContainerizer*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a717b40b6012ceb68d4aab7a02e9f3e4b">create</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <a class="code" href="classmesos_1_1SecretResolver.html">SecretResolver</a>* se
 cretResolver = <span class="keyword">nullptr</span>,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;MesosContainerizer*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a717b40b6012ceb68d4aab7a02e9f3e4b">create</a>(</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00077"></a><span class="li
 neno">   77</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Launcher&gt;</a>&amp; launcher,</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provisioner,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::Isolator&gt;</a>&gt;&amp; isolators);</div><div class="line"><a
  name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a16b4d5e232ba4cb766d173a1ba1ace6f">~MesosContainerizer</a>();</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429">recover</a>(</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state);</div><div class="line"><a name="l00087"
 ></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#afcc9b85f1bb91f90c1c6089b99dfe4ba">launch</a>(</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2
 ">environment</a>,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Connection&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a83b5cba7afb68e963a05d82b1f4b62d1">attach</a>(</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160
 ;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a53984581c243206c1bd38f74c9f094c9">update</a>(</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::F
 uture&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a777216dd99e0a655f636a61f18798204">usage</a>(</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a9b8cbaadc6ec688e6de806d64b731ad0">status</a>(</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div cl
 ass="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a6f2114367f2ced7f2c19621acc04dc11">wait</a>(</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a1554d9339ba23d2de72fe50e9bb0aa79">destroy</a>(</div><div class="
 line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a8126e6b92cbd186dc3383f9e6f34729e">kill</a>(</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keywordtype">int</span> signal);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117<
 /span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a2988a6d2eae359c116bcdd6ea7ac3afa">containers</a>();</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href=
 "classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#aa86c012f313c116ccac58e288c2fed0b">pruneImages</a>(</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html">MesosContainerizer</a>(</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosContainerizerProcess&gt;</a>&amp; <a class="code" href="namespaceprocess.html">proc
 ess</a>);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosContainerizerProcess&gt;</a> process;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html">  132</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html">MesosContainerizerProcess</a></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  : <span class="keyword">public</span> 
 <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;MesosContainerizerProcess&gt;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a452e36e3cb87c9a07c8462183d2bae77">  136</a></span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a452e36e3cb87c9a07c8462183d2bae77">MesosContainerizerProcess</a>(</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; _flags,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <a class="code"
  href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* _fetcher,</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a>* _ioSwitchboard,</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Launcher&gt;</a>&amp; _launcher,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; _provisioner,</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::Isolator&gt;</a>&gt;&amp; _isolators)<
 /div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    : ProcessBase(<a class="code" href="namespaceprocess.html">process</a>::ID::<a class="code" href="namespaceprocess_1_1ID.html#aeb11a48c9def1da169d8455a30d0ee39">generate</a>(<span class="stringliteral">&quot;mesos-containerizer&quot;</span>)),</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      <a class="code" href="namespaceflags.html">flags</a>(_flags),</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      fetcher(_fetcher),</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      ioSwitchboard(_ioSwitchboard),</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      launcher(_launcher),</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      provisioner(_provisioner),</div><div class="line"><a name="l00149"></a><span class="line
 no">  149</span>&#160;      isolators(_isolators) {}</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a4a62062f62daa92ee7fb8fff3a93c167">  151</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizerProcess.html#a4a62062f62daa92ee7fb8fff3a93c167">~MesosContainerizerProcess</a>() {}</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429">recover</a>(</div><div class="line"><a name=
 "l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#afcc9b85f1bb91f90c1c6089b99dfe4ba">launch</a>(</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00159"></a><
 span class="lineno">  159</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Connection&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a83b5cba7afb68e963a05d82b1f4b62d1">attach</a>(</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class
 ="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a53984581c243206c1bd38f74c9f094c9">update</a>(</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>);</div><div class="line"><a name="l00168"></a><s
 pan class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a777216dd99e0a655f636a61f18798204">usage</a>(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a9b8cbaadc6ec688e6de806d64b731ad0">status</a>(</div><div class="line"><a name
 ="l00173"></a><span class="lineno">  173</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a6f2114367f2ced7f2c19621acc04dc11">wait</a>(</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">p
 rocess::Future&lt;Containerizer::LaunchResult&gt;</a> exec(</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <a class="code" href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a> pipeWrite);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a1554d9339ba23d2de72fe50e9bb0aa79">destroy</a>(</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keyword">const</span> ContainerI
 D&amp; containerId,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a8126e6b92cbd186dc3383f9e6f34729e">kill</a>(</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <span class="keywordtype">int</span> signal);</div><div class="line"><a name="l0018
 9"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;hashset&lt;ContainerID&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a2988a6d2eae359c116bcdd6ea7ac3afa">containers</a>();</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keyword">virt
 ual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#aa86c012f313c116ccac58e288c2fed0b">pruneImages</a>(</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <span class="keyword">const</span> std::vector&lt;Image&gt;&amp; excludedImages);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keyword">enum</span> State</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    PROVISIONING,</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&
 #160;    PREPARING,</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    ISOLATING,</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    FETCHING,</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    RUNNING,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    DESTROYING</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  };</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="namespacemesos_1_1internal_1_1slave.html#acc816a5f127bb40e7d5464befda0a0a9">operator&lt;&lt;</a>(std::ostream&amp; stream, <span class="keyword">const</span> State&amp; state);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&
 #160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> _recover(</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; recoverable,</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Nothing&gt;</a>&gt; recoverIsolators(</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;      <span class="keyword">const</spa
 n> std::list&lt;mesos::slave::ContainerState&gt;&amp; recoverable,</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> recoverProvisioner(</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; recoverable,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00221"></a><
 span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> __recover(</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; recovered,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#a4bf20862574beb5b0f9af7799489866f">prepare</a>(</div><div class="line"><a name="
 l00227"></a><span class="lineno">  227</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;ProvisionInfo&gt;</a>&amp; provisionInfo);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespaceflags.html#a27c0d145bbd7c2870512fd59a50222d9">fetch</a>(</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span
 >&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> _launch(</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerIO&gt;</a>&amp; containerIO,</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; environment,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; pidCheckpointPath);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><d
 iv class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="namespacecgroups.html#aceb245d6ea6362ac1c2b1247556179d6">isolate</a>(</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> _pid);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">// Continues &#39;destroy()&#39; once nested containers are handled.</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keywordt
 ype">void</span> _destroy(</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination,</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keyword">const</span> State&amp; previousState,</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="classOption.
 html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&gt;&gt;&amp; destroys);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="comment">// Continues &#39;_destroy()&#39; once isolators has completed.</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordtype">void</span> __destroy(</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a>
 <span class="lineno">  256</span>&#160;  <span class="comment">// Continues &#39;__destroy()&#39; once all processes have been killed</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="comment">// by the launcher.</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="keywordtype">void</span> ___destroy(</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Noth
 ing&gt;</a>&amp; future);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="comment">// Continues &#39;___destroy()&#39; once we get the exit status of the container.</span></div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keywordtype">void</span> ____destroy(</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#16
 0;  <span class="comment">// Continues &#39;____destroy()&#39; once all isolators have completed</span></div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">// cleanup.</span></div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keywordtype">void</span> _____destroy(</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination,</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1d
 evices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a>&gt;&gt;&amp; cleanups);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">// Continues &#39;_____destroy()&#39; once provisioner have completed destroy.</span></div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="keywordtype">void</span> ______destroy(</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerTermination&gt;</a>&amp; termination,</div><div class="li
 ne"><a name="l00279"></a><span class="lineno">  279</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; destroy);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">// Call back for when an isolator limits a container and impacts the</span></div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// processes. This will trigger container destruction.</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keywordtype">void</span> limited(</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00285"></a><span class="lineno">  285</
 span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>&amp; future);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">// Helper for reaping the &#39;init&#39; process of a container.</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;int&gt;</a>&gt; <a class="code" href="namespaceprocess.html#a8225ae5aa1b4963bb8413312282a91be">reap</a>(</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <a class="code" href="3rdparty_2stout_2incl
 ude_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="comment">// Call back for when the executor exits. This will trigger container</span></div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">// destroy.</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keywordtype">void</span> reaped(<span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="comment">// TODO(jieyu): Consider introducing an Isolators struct and moving</span></div><div class="line"><a name="l00297"></a><span class="lin
 eno">  297</span>&#160;  <span class="comment">// all isolator related operations to that struct.</span></div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;process::Future&lt;Nothing&gt;</a>&gt;&gt; cleanupIsolators(</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a> <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_
 1_1Fetcher.html">Fetcher</a>* fetcher;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <a class="code" href="classmesos_1_1internal_1_1slave_1_1IOSwitchboard.html">IOSwitchboard</a>* ioSwitchboard;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Launcher&gt;</a> launcher;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a> provisioner;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  <span class="keyword">const</span> std::vector&lt;process::Owned&lt;mesos::slave::Isolator&gt;&gt; isolators;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><
 span class="lineno">  308</span>&#160;  <span class="keyword">struct </span>Container</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    Container() : sequence(<span class="stringliteral">&quot;mesos-container-status-updates&quot;</span>) {}</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">// Promise for futures returned from wait().</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <a class="code" href="classprocess_1_1Promise.html">process::Promise&lt;mesos::slave::ContainerTermination&gt;</a> termination;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <
 span class="comment">// NOTE: this represents &#39;PID 1&#39;, i.e., the &quot;init&quot; of the</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="comment">// container that we created (it may be for an executor, or any</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="comment">// arbitrary process that has been launched in the event of nested</span></div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="comment">// containers).</span></div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <a class="code" href="classOption.html">Option&lt;pid_t&gt;</a> pid;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="comment">// Sandbox directory for the container. It is opt
 ional here because</span></div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <span class="comment">// we don&#39;t keep track of sandbox directory for orphan containers.</span></div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="comment">// It is not checkpointed explicitly; on recovery, it is reconstructed</span></div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <span class="comment">// from executor&#39;s directory and hierarchy of containers.</span></div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="comment">// NOTE: This holds the sandbox path in the host mount namespace,</span></div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="comment">// while 
 MESOS_SANDBOX is the path in the container mount namespace.</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> directory;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="comment">// We keep track of the future exit status for the container if it</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="comment">// has been launched. If the container has not been launched yet,</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="comment">// &#39;status&#39; will be set to None().</span></div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00
 334"></a><span class="lineno">  334</span>&#160;    <span class="comment">// NOTE: A container has an exit status does not mean that it has</span></div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    <span class="comment">// been properly destroyed. We need to perform cleanup on</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">// isolators and provisioner after that.</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <a class="code" href="classOption.html">Option&lt;process::Future&lt;Option&lt;int&gt;</a>&gt;&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a9b8cbaadc6ec688e6de806d64b731ad0">status</a>;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="comment">// We keep t
 rack of the future for &#39;provisioner-&gt;provision&#39; so</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <span class="comment">// that destroy will only start calling &#39;provisioner-&gt;destroy&#39;</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="comment">// after &#39;provisioner-&gt;provision&#39; has finished.</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ProvisionInfo&gt;</a> provisioning;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="comment">// We keep track of the future that is waiting for all the</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="comment">//
  &#39;isolator-&gt;prepare&#39; to finish so that destroy will only start</span></div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="comment">// calling cleanup after all isolators have finished preparing.</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt;&gt;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;      launchInfos;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="comment">// We keep track of the future that is waiting for all the</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="comment">// &#39;isolator-&gt;isolate&#39; fu
 tures so that destroy will only start</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="comment">// calling cleanup after all isolators have finished isolating.</span></div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::list&lt;Nothing&gt;</a>&gt; isolation;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="comment">// We keep track of the resources for each container so we can set</span></div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="comment">// the ResourceStatistics limits in usage().</span></div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <a class="code" href="classmesos_1_1Resources.html">Reso
 urces</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html#acde902a94e389c2ef64b4fe78bb039a3">resources</a>;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="comment">// The configuration for the container to be launched.</span></div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="comment">// This can only be None if the underlying container is launched</span></div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="comment">// before we checkpoint `ContainerConfig` in MESOS-6894.</span></div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="comment">// TODO(zhitao): Drop the `Option` part at the end of deprecation</span></div><div class="line"><a name="l00363"></a><span class="lineno">  363
 </span>&#160;    <span class="comment">// cycle.</span></div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerConfig&gt;</a> config;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="comment">// The container class that can be `DEFAULT` or `DEBUG`.</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="comment">// Returns `DEFAULT` even if the container class is not defined.</span></div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    mesos::slave::ContainerClass containerClass();</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="co
 mment">// Container&#39;s information at the moment it was launched. For example,</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="comment">// used to bootstrap the launch information of future child DEBUG</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="comment">// containers. Checkpointed and restored on recovery. Optional because</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="comment">// it is not set for orphan containers.</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="comment">// NOTE: Some of these data, may change during the container lifetime,</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>
 &#160;    <span class="comment">// e.g., the working directory. Such changes are not be captured here,</span></div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">// which might be problematic, e.g., for DEBUG containers relying on</span></div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <span class="comment">// some data in parent working directory.</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="classOption.html">Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a> launchInfo;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    State state;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  
   <span class="comment">// Used when `status` needs to be collected from isolators</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="comment">// associated with this container. `Sequence` allows us to</span></div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="comment">// maintain the order of `status` requests for a given container.</span></div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <a class="code" href="classprocess_1_1Sequence.html">process::Sequence</a> sequence;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="comment">// Child containers nested under this container.</span></div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <a class="code" href="classhashset.html">h
 ashset&lt;ContainerID&gt;</a> <a class="code" href="namespaceos.html#a363f959e94e301ec8ec483e3c22258a6">children</a>;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  };</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;ContainerID, process::Owned&lt;Container&gt;</a>&gt; containers_;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  <span class="comment">// Helper to transition container state.</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keywordtype">void</span> transition(<span class="keyword">const</span> ContainerID&amp; containerId, <span class="keyword">const</span> State&amp; state);</div><div cl
 ass="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  <span class="comment">// Helper to determine if a container is supported by an isolator.</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  <span class="keywordtype">bool</span> isSupportedByIsolator(</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      <span class="keywordtype">bool</span> isolatorSupportsNesting,</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;      <span class="keywordtype">bool</span> isolatorSupportsStandalone);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span cl
 ass="lineno">  403</span>&#160;  <span class="keyword">struct </span><a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  {</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    ~<a class="code" href="namespacemesos_1_1internal_1_1tests.html#ace210c8852d8ef1f0f67ec3af06281f6">Metrics</a>();</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <a class="code" href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> container_destroy_errors;</div><div class="line"><a name="l00409">
 </a><span class="lineno">  409</span>&#160;  } <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a>;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;};</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;std::ostream&amp; <a class="code" href="namespacemesos_1_1internal_1_1slave.html#acc816a5f127bb40e7d5464befda0a0a9">operator&lt;&lt;</a>(</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    std::ostream&amp; stream,</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">const</span> MesosContainerizerProcess::State&amp; state);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#
 160;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">#endif // __MESOS_CONTAINERIZER_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosContainerizer_html_afcc9b85f1bb91f90c1c6089b99dfe4ba"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#afcc9b85f1bb91f90c1c6089b99dfe4ba">mesos::internal::slave::MesosContainerizer::launch</a></div><div class="ttdeci">virtual process::Futur
 e&lt; Containerizer::LaunchResult &gt; launch(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig, const std::map&lt; std::string, std::string &gt; &amp;environment, const Option&lt; std::string &gt; &amp;pidCheckpointPath)</div></div>
+<a href="src_2slave_2containerizer_2mesos_2containerizer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div cla
 ss="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>
 &#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __MESOS_CONTAINERIZER_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __MESOS_CON
 TAINERIZER_HPP__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="resolver_8hpp.html">mesos/secret/resolver.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="linen
 o">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="id_8hpp.html">process/id.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2http_8hpp.html">process/http.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sequence_8hpp.html">process/sequence.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2shared_8hpp.html">process/shared.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#incl
 ude &lt;<a class="code" href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="multihashmap_8hpp.html">stout/multihashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="int__fd_8hpp.html">stout/os/int_fd.hpp</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class=
 "code" href="src_2slave_2state_8hpp.html">slave/state.hpp</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="src_2slave_2containerizer_2containerizer_8hpp.html">slave/containerizer/containerizer.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slave_2containerizer_2mesos_2launcher_8hpp.html">slave/containerizer/mesos/launcher.hpp</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="switchboard_8hpp.
 html">slave/containerizer/mesos/io/switchboard.hpp</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="nvidia_8hpp.html">slave/containerizer/mesos/isolators/gpu/nvidia.hpp</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="provisioner_8hpp.html">slave/containerizer/mesos/provisioner/provisioner.hpp</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a 
 name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// If the container class is not of type `DEBUG` (i.e., it is not set or</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// `DEFAULT`), we log the line at the INFO level. Otherwise, we use VLOG(1).</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// The purpose of this macro is to avoid polluting agent logs with information</span></div><div class="line"><a name="l00056"></a><span class="line
 no">   56</span>&#160;<span class="comment">// related to `DEBUG` containers as this type of container can run periodically.</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="src_2slave_2containerizer_2mesos_2containerizer_8hpp.html#ac350b8c66675799461b2d9c3f29ca47f">   57</a></span>&#160;<span class="preprocessor">#define LOG_BASED_ON_CLASS(containerClass) \</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">  LOG_IF(INFO, (containerClass != ContainerClass::DEBUG) || VLOG_IS_ON(1))</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">class </span>MesosContainerizerProcess;</div><div class="line"><a n
 ame="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html">   64</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html">MesosContainerizer</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Containerizer.html">Containerizer</a></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;MesosContainerizer*&gt;</a> <a class="code" 
 href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a717b40b6012ceb68d4aab7a02e9f3e4b">create</a>(</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; <a class="code" href="namespaceflags.html">flags</a>,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <a class="code" href="classmesos_1_1SecretResolver.html">SecretResolver</a>* secretResolver = <span class="keyword">nullptr</span>,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;   
    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;NvidiaComponents&gt;</a>&amp; nvidia = <a class="code" href="structNone.html">None</a>());</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="keyword">static</span> <a class="code" href="classTry.html">Try&lt;MesosContainerizer*&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a717b40b6012ceb68d4aab7a02e9f3e4b">create</a>(</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>&amp; flags,</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keywordtype">bool</span> local,</div><div class="line"><a name="l00077"></a><span class="lineno"
 >   77</span>&#160;      <a class="code" href="classmesos_1_1internal_1_1slave_1_1Fetcher.html">Fetcher</a>* fetcher,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Launcher&gt;</a>&amp; launcher,</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Shared.html">process::Shared&lt;Provisioner&gt;</a>&amp; provisioner,</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> std::vector&lt;<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;mesos::slave::Isolator&gt;</a>&gt;&amp; isolators);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#1
 60;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a16b4d5e232ba4cb766d173a1ba1ace6f">~MesosContainerizer</a>();</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#a61ebc4f358e36e8c762f48e5c4f5d429">recover</a>(</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;state::SlaveState&gt;</a>&amp; state);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span cla
 ss="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Containerizer::LaunchResult&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosContainerizer.html#afcc9b85f1bb91f90c1c6089b99dfe4ba">launch</a>(</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">const</span> std::map

<TRUNCATED>

[34/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/docker_2docker_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/docker_2docker_8hpp.html b/content/api/latest/c++/docker_2docker_8hpp.html
index e21dfe5..425be11 100644
--- a/content/api/latest/c++/docker_2docker_8hpp.html
+++ b/content/api/latest/c++/docker_2docker_8hpp.html
@@ -55,11 +55,11 @@
 <div class="title">docker.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;map&gt;</code><br />
+<div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;mutex&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
 <code>#include &lt;utility&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="owned_8hpp_source.html">process/owned.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="subprocess_8hpp_source.html">process/subprocess.hpp</a>&gt;</code><br />


[06/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolator_8hpp_source.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolator_8hpp_source.html
index 0b65e11..106025d 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolator_8hpp_source.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolator_8hpp_source.html
@@ -52,7 +52,7 @@
 <div class="title">isolator.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="l
 ine"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160
 ;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __ISOLATOR_HPP__</span></di
 v><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="
 preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">cla
 ss </span>MesosIsolatorProcess;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// A wrapper class that implements the &#39;Isolator&#39; interface which is</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// backed by an &#39;MesosIsolatorProcess&#39;. This helper class is useful</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// for programmers to write asynchronous isolators.</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">   38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1
 MesosIsolator.html">MesosIsolator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a36b26d1276a22b8148fa281e73bc5de7">MesosIsolator</a>(<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a4847689eaa6f3c97f3e188
 e55e7be670">~MesosIsolator</a>();</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d">supportsNesting</a>();</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646">supportsStandalone</a>();</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;<
 /a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">recover</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8">prepare</a>(</div><div class="li
 ne"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a32a943445e8ff4eb60c269f35e92d19c">isolate</a>(</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <a class="code" href="3rdp
 arty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a5f1bf6a50784cd16dc89ba6731417e2c">watch</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="co
 de" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a31675debfb2281edb014242a014a9170">update</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#ac998139d7df3305d7c90a7f3c65681a8">usage</a>(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class
 ="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d">status</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.h
 tml#a2d8a7876ef8827fbbf7d997ba0614260">cleanup</a>(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> process;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;};</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProce
 ss.html">   80</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;MesosIsolatorProcess&gt;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;{</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">   83</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>() {}</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</
 div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">   85</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  }</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4
 ff1eb303d8e8054959c1a3b63c">   90</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  {</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">   95</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Fu
 ture&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">recover</a>(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> std::list&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><d
 iv class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">  102</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">prepare</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;   
  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">  109</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a>(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <a class="code" href="3rdparty
 _2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  {</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">  116</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3eb
 b1421057f3">watch</a>(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>();</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#aee83322693aec96863310b528b11b092">  122</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothin
 g&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#aee83322693aec96863310b528b11b092">update</a>(</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class
 ="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">  129</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a>(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line
 "><a name="l00135"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">  135</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> ContainerStatus();</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  };</div><div class="line"><a name="l00140"></a><span class="lineno">  140</spa
 n>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb">  141</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb">cleanup</a>(</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div class
 ="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;};</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#endif // __ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a27a7514b9257a7c6b345c9f97173906d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess
 .html#a27a7514b9257a7c6b345c9f97173906d">mesos::internal::slave::MesosIsolatorProcess::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:129</div></div>
+<a href="src_2slave_2containerizer_2mesos_2isolator_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="l
 ine"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160
 ;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __ISOLATOR_HPP__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __ISOLATOR_HPP__</span></di
 v><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mesos_2slave_2isolator_8hpp.html">mesos/slave/isolator.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="
 preprocessor">#include &lt;<a class="code" href="none_8hpp.html">stout/none.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span>slave {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">cla
 ss </span>MesosIsolatorProcess;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// A wrapper class that implements the &#39;Isolator&#39; interface which is</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// backed by an &#39;MesosIsolatorProcess&#39;. This helper class is useful</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// for programmers to write asynchronous isolators.</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">   38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1
 MesosIsolator.html">MesosIsolator</a> : <span class="keyword">public</span> <a class="code" href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a36b26d1276a22b8148fa281e73bc5de7">MesosIsolator</a>(<a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> <a class="code" href="namespaceprocess.html">process</a>);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a4847689eaa6f3c97f3e188
 e55e7be670">~MesosIsolator</a>();</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d">supportsNesting</a>();</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646">supportsStandalone</a>();</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;<
 /a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">recover</a>(</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8">prepare</a>(</div><div class="
 line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a32a943445e8ff4eb60c269f35e92d19c">isolate</a>(</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <a class="code" href="3r
 dparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a5f1bf6a50784cd16dc89ba6731417e2c">watch</a>(</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="
 code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a31675debfb2281edb014242a014a9170">update</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#ac998139d7df3305d7c90a7f3c65681a8">usage</a>(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span cla
 ss="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d">status</a>(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolator
 .html#a2d8a7876ef8827fbbf7d997ba0614260">cleanup</a>(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;MesosIsolatorProcess&gt;</a> process;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;};</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorPro
 cess.html">   80</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html">MesosIsolatorProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">process::Process</a>&lt;MesosIsolatorProcess&gt;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;{</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">   83</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#ae62fa51227866cc1717d788a133b6608">~MesosIsolatorProcess</a>() {}</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;
 </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">   85</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a8009c7782661b509933138479d3dbed5">supportsNesting</a>()</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  }</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039d
 b4ff1eb303d8e8054959c1a3b63c">   90</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a039db4ff1eb303d8e8054959c1a3b63c">supportsStandalone</a>()</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  {</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">   95</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::
 Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">recover</a>(</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">const</span> std::vector&lt;mesos::slave::ContainerState&gt;&amp; states,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;ContainerID&gt;</a>&amp; orphans)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</di
 v><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">  102</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;mesos::slave::ContainerLaunchInfo&gt;</a>&gt; <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a030a1d8c77900f91da6d3081d3cdb893">prepare</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">const</span> mesos::slave::ContainerConfig&amp; containerConfig)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160
 ;    <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">  109</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">isolate</a>(</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <a class="code" href="3rdp
 arty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid)</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  {</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1e3ebb1421057f3">  116</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a1dd1c873155700d4f1
 e3ebb1421057f3">watch</a>(</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::slave::ContainerLimitation&gt;</a>();</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#aee83322693aec96863310b528b11b092">  122</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;No
 thing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#aee83322693aec96863310b528b11b092">update</a>(</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span c
 lass="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">  129</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ResourceStatistics&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a27a7514b9257a7c6b345c9f97173906d">usage</a>(</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> ResourceStatistics();</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="
 line"><a name="l00135"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">  135</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;ContainerStatus&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">status</a>(</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> ContainerStatus();</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  };</div><div class="line"><a name="l00140"></a><span class="lineno">  140<
 /span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb">  141</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a564aeab37e98937a14c3beea590793cb">cleanup</a>(</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      <span class="keyword">const</span> ContainerID&amp; containerId)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div c
 lass="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;};</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;} <span class="comment">// namespace slave {</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;} <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;} <span class="comment">// namespace mesos {</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#endif // __ISOLATOR_HPP__</span></div><div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a27a7514b9257a7c6b345c9f97173906d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorPro
 cess.html#a27a7514b9257a7c6b345c9f97173906d">mesos::internal::slave::MesosIsolatorProcess::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:129</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html">mesos::internal::slave::MesosIsolator</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:38</div></div>
 <div class="ttc" id="structNothing_html"><div class="ttname"><a href="structNothing.html">Nothing</a></div><div class="ttdef"><b>Definition:</b> nothing.hpp:16</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a2d8a7876ef8827fbbf7d997ba0614260"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a2d8a7876ef8827fbbf7d997ba0614260">mesos::internal::slave::MesosIsolator::cleanup</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; cleanup(const ContainerID &amp;containerId)</div></div>
@@ -64,7 +64,6 @@
 <div class="ttc" id="classmesos_1_1Resources_html"><div class="ttname"><a href="classmesos_1_1Resources.html">mesos::Resources</a></div><div class="ttdef"><b>Definition:</b> resources.hpp:79</div></div>
 <div class="ttc" id="none_8hpp_html"><div class="ttname"><a href="none_8hpp.html">none.hpp</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a7542c128af52b0fc7ffbf16767440c94"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a7542c128af52b0fc7ffbf16767440c94">mesos::internal::slave::MesosIsolatorProcess::status</a></div><div class="ttdeci">virtual process::Future&lt; ContainerStatus &gt; status(const ContainerID &amp;containerId)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:135</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_adea82f6dd9074b11d8655f3ddbd2c7c7"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#adea82f6dd9074b11d8655f3ddbd2c7c7">mesos::internal::slave::MesosIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:95</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a1c8bae50b4c7a6b2ab5cbda17b640646"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a1c8bae50b4c7a6b2ab5cbda17b640646">mesos::internal::slave::MesosIsolator::supportsStandalone</a></div><div class="ttdeci">virtual bool supportsStandalone()</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a289db030d60e8b4dcb6cedba2a8453e8"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a289db030d60e8b4dcb6cedba2a8453e8">mesos::internal::slave::MesosIsolator::prepare</a></div><div class="ttdeci">virtual process::Future&lt; Option&lt; mesos::slave::ContainerLaunchInfo &gt; &gt; prepare(const ContainerID &amp;containerId, const mesos::slave::ContainerConfig &amp;containerConfig)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a36b26d1276a22b8148fa281e73bc5de7"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a36b26d1276a22b8148fa281e73bc5de7">mesos::internal::slave::MesosIsolator::MesosIsolator</a></div><div class="ttdeci">MesosIsolator(process::Owned&lt; MesosIsolatorProcess &gt; process)</div></div>
@@ -81,15 +80,16 @@
 <div class="ttc" id="structNone_html"><div class="ttname"><a href="structNone.html">None</a></div><div class="ttdef"><b>Definition:</b> none.hpp:27</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
 <div class="ttc" id="namespaceprocess_html"><div class="ttname"><a href="namespaceprocess.html">process</a></div><div class="ttdef"><b>Definition:</b> executor.hpp:47</div></div>
-<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a0cef8efea5b88caa294e7e46dbc6155e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a0cef8efea5b88caa294e7e46dbc6155e">mesos::internal::slave::MesosIsolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::list&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a9be889e55c9fa3b300a1a2c30c19e35e"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a9be889e55c9fa3b300a1a2c30c19e35e">mesos::internal::slave::MesosIsolatorProcess::isolate</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; isolate(const ContainerID &amp;containerId, pid_t pid)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:109</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_ac998139d7df3305d7c90a7f3c65681a8"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#ac998139d7df3305d7c90a7f3c65681a8">mesos::internal::slave::MesosIsolator::usage</a></div><div class="ttdeci">virtual process::Future&lt; ResourceStatistics &gt; usage(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="owned_8hpp_html"><div class="ttname"><a href="owned_8hpp.html">owned.hpp</a></div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_aee2378521ee324973937ef921cce2113"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#aee2378521ee324973937ef921cce2113">mesos::internal::slave::MesosIsolator::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div></div>
 <div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a href="classprocess_1_1Owned.html">process::Owned</a></div><div class="ttdef"><b>Definition:</b> owned.hpp:36</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a41dfc5ffad8b8c876cd54286ea24901d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a41dfc5ffad8b8c876cd54286ea24901d">mesos::internal::slave::MesosIsolator::status</a></div><div class="ttdeci">virtual process::Future&lt; ContainerStatus &gt; status(const ContainerID &amp;containerId)</div></div>
 <div class="ttc" id="classprocess_1_1Process_html"><div class="ttname"><a href="classprocess_1_1Process.html">process::Process</a></div><div class="ttdef"><b>Definition:</b> process.hpp:501</div></div>
 <div class="ttc" id="classmesos_1_1slave_1_1Isolator_html"><div class="ttname"><a href="classmesos_1_1slave_1_1Isolator.html">mesos::slave::Isolator</a></div><div class="ttdef"><b>Definition:</b> isolator.hpp:39</div></div>
 <div class="ttc" id="libprocess_2include_2process_2process_8hpp_html"><div class="ttname"><a href="libprocess_2include_2process_2process_8hpp.html">process.hpp</a></div></div>
+<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess_html_a426eac2fa6176c91bef2cb8175eab24f"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolatorProcess.html#a426eac2fa6176c91bef2cb8175eab24f">mesos::internal::slave::MesosIsolatorProcess::recover</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; recover(const std::vector&lt; mesos::slave::ContainerState &gt; &amp;states, const hashset&lt; ContainerID &gt; &amp;orphans)</div><div class="ttdef"><b>Definition:</b> isolator.hpp:95</div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_acd19e2e8bbe3a57267620a2acfcf3b2d"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#acd19e2e8bbe3a57267620a2acfcf3b2d">mesos::internal::slave::MesosIsolator::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
 <div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future&lt; Nothing &gt;</a></div></div>
 <div class="ttc" id="classmesos_1_1internal_1_1slave_1_1MesosIsolator_html_a31675debfb2281edb014242a014a9170"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1MesosIsolator.html#a31675debfb2281edb014242a014a9170">mesos::internal::slave::MesosIsolator::update</a></div><div class="ttdeci">virtual process::Future&lt; Nothing &gt; update(const ContainerID &amp;containerId, const Resources &amp;resources)</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html
index 27375bb..35f5081 100644
--- a/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html
+++ b/content/api/latest/c++/src_2slave_2containerizer_2mesos_2isolators_2docker_2volume_2isolator_8hpp.html
@@ -55,8 +55,7 @@
 <div class="title">isolator.hpp File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;list&gt;</code><br />
-<code>#include &lt;string&gt;</code><br />
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
 <code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="owned_8hpp_source.html">process/owned.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="sequence_8hpp_source.html">process/sequence.hpp</a>&gt;</code><br />