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 2017/12/23 01:03:17 UTC
[3/5] mesos-site git commit: Updated the website built from mesos
SHA: 30eb221.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/36b7c1e7/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 106753b..57390da 100644
--- a/content/api/latest/c++/slave_8hpp_source.html
+++ b/content/api/latest/c++/slave_8hpp_source.html
@@ -909,262 +909,264 @@
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  }</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  }</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="comment">// Returns true if this is a command executor.</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c506bb12f5b2a0acd8f216ebbf0c789">isCommandExecutor</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment">// Closes the HTTP connection.</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a546589bcf81d103b1e50be965494d430">closeHttpConnection</a>();</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="comment">// Returns the task group associated with the task.</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="classOption.html">Option<TaskGroupInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad6bd3d3bec32d1d06d96f90d1325bf8d">getQueuedTaskGroup</a>(<span class="keyword">const</span> TaskID& taskId);</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aab395584ca0bd5c7867e093597e6ab09">allocatedResources</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="comment">// Returns true if this executor is generated by Mesos for a command</span></div>
+<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="comment">// task (either command executor for MesosContainerizer or docker</span></div>
+<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="comment">// executor for DockerContainerizer).</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aa015f42f8b5fe1a51616a87def9924ab">isGeneratedForCommandTask</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment">// Closes the HTTP connection.</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a546589bcf81d103b1e50be965494d430">closeHttpConnection</a>();</div>
+<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
+<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="comment">// Returns the task group associated with the task.</span></div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <a class="code" href="classOption.html">Option<TaskGroupInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad6bd3d3bec32d1d06d96f90d1325bf8d">getQueuedTaskGroup</a>(<span class="keyword">const</span> TaskID& taskId);</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0"> 869</a></span>  <span class="keyword">enum</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0">State</a></div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"> 871</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d">REGISTERING</a>, <span class="comment">// Executor is launched but not (re-)registered yet.</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683"> 872</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683">RUNNING</a>, <span class="comment">// Executor has (re-)registered.</span></div>
-<div class="line"><a name="l00873"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920"> 873</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920">TERMINATING</a>, <span class="comment">// Executor is being shutdown/killed.</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75"> 874</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75">TERMINATED</a>, <span class="comment">// Executor has terminated but there might be pending updates.</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="comment">// variables. One could imagine 'Executor' as being an inner class</span></div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="comment">// of the 'Slave' class.</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818"> 880</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818">slave</a>;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea"> 882</a></span>  <span class="keyword">const</span> ExecutorID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea">id</a>;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856"> 883</a></span>  <span class="keyword">const</span> ExecutorInfo <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856">info</a>;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
-<div class="line"><a name="l00885"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a34bfb0214dd593dcbf1ad4fa398a417c"> 885</a></span>  <span class="keyword">const</span> FrameworkID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a34bfb0214dd593dcbf1ad4fa398a417c">frameworkId</a>;</div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aab395584ca0bd5c7867e093597e6ab09">allocatedResources</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
+<div class="line"><a name="l00871"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0"> 871</a></span>  <span class="keyword">enum</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0">State</a></div>
+<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  {</div>
+<div class="line"><a name="l00873"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"> 873</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d">REGISTERING</a>, <span class="comment">// Executor is launched but not (re-)registered yet.</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683"> 874</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683">RUNNING</a>, <span class="comment">// Executor has (re-)registered.</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920"> 875</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920">TERMINATING</a>, <span class="comment">// Executor is being shutdown/killed.</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75"> 876</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75">TERMINATED</a>, <span class="comment">// Executor has terminated but there might be pending updates.</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">// variables. One could imagine 'Executor' as being an inner class</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">// of the 'Slave' class.</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818"> 882</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818">slave</a>;</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
+<div class="line"><a name="l00884"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea"> 884</a></span>  <span class="keyword">const</span> ExecutorID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea">id</a>;</div>
+<div class="line"><a name="l00885"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856"> 885</a></span>  <span class="keyword">const</span> ExecutorInfo <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856">info</a>;</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc"> 887</a></span>  <span class="keyword">const</span> ContainerID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc">containerId</a>;</div>
+<div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a34bfb0214dd593dcbf1ad4fa398a417c"> 887</a></span>  <span class="keyword">const</span> FrameworkID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a34bfb0214dd593dcbf1ad4fa398a417c">frameworkId</a>;</div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aabe86347ab1d23297172813dc5d1c8f5"> 889</a></span>  <span class="keyword">const</span> std::string <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aabe86347ab1d23297172813dc5d1c8f5">directory</a>;</div>
+<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc"> 889</a></span>  <span class="keyword">const</span> ContainerID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc">containerId</a>;</div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="comment">// The sandbox will be owned by this user and the executor will</span></div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="comment">// run as this user. This can be set to None when --switch_user</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="comment">// is false or when compiled for Windows.</span></div>
-<div class="line"><a name="l00894"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aed6f0c1093840e82b6e920164be9df74"> 894</a></span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<std::string></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aed6f0c1093840e82b6e920164be9df74">user</a>;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab05d451e6d84e8da41ac5b156cb7a79f"> 896</a></span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab05d451e6d84e8da41ac5b156cb7a79f">checkpoint</a>;</div>
+<div class="line"><a name="l00891"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aabe86347ab1d23297172813dc5d1c8f5"> 891</a></span>  <span class="keyword">const</span> std::string <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aabe86347ab1d23297172813dc5d1c8f5">directory</a>;</div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="comment">// The sandbox will be owned by this user and the executor will</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="comment">// run as this user. This can be set to None when --switch_user</span></div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="comment">// is false or when compiled for Windows.</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aed6f0c1093840e82b6e920164be9df74"> 896</a></span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<std::string></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aed6f0c1093840e82b6e920164be9df74">user</a>;</div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="comment">// An Executor can either be connected via HTTP or by libprocess</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="comment">// message passing. The following are the possible states:</span></div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="comment">// Agent State Executor State http pid Executor Type</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="comment">// ----------- -------------- ---- ---- -------------</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment">// RECOVERING REGISTERING None UPID() Unknown</span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment">// REGISTERING None Some Libprocess</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment">// REGISTERING None None HTTP</span></div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="comment">// * REGISTERING None None Not known yet</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">// * * None Some Libprocess</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment">// * * Some None HTTP</span></div>
-<div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad432746af325d55919e69efe7d82fbb9"> 910</a></span>  <a class="code" href="classOption.html">Option<HttpConnection></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad432746af325d55919e69efe7d82fbb9">http</a>;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8"> 911</a></span>  <a class="code" href="classOption.html">Option<process::UPID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8">pid</a>;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="comment">// Tasks can be found in one of the following four data structures:</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="comment">// TODO(bmahler): Make these private to enforce that the task</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="comment">// lifecycle helper functions are not being bypassed, and provide</span></div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="comment">// public views into them.</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="comment">// Not yet launched tasks. This also includes tasks from `queuedTaskGroups`.</span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b"> 920</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, TaskInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">queuedTasks</a>;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="comment">// Not yet launched task groups. This is needed for correctly sending</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment">// TASK_KILLED status updates for all tasks in the group if any of the</span></div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="comment">// tasks were killed before the executor could register with the agent.</span></div>
-<div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3"> 925</a></span>  std::list<TaskGroupInfo> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">queuedTaskGroups</a>;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <span class="comment">// Running.</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d"> 928</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, Task*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d">launchedTasks</a>;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment">// Terminated but pending updates.</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abd7e32a67b2bf5409c1ab855f3220625"> 931</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, Task*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abd7e32a67b2bf5409c1ab855f3220625">terminatedTasks</a>;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="comment">// Terminated and updates acked.</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="comment">// NOTE: We use a shared pointer for Task because clang doesn't like</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment">// Boost's implementation of circular_buffer with Task (Boost</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="comment">// attempts to do some memset's which are unsafe).</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad326f6f8e9c161095f6a7e033da58550"> 937</a></span>  boost::circular_buffer<std::shared_ptr<Task>> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad326f6f8e9c161095f6a7e033da58550">completedTasks</a>;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <span class="comment">// When the slave initiates a destroy of the container, we expect a</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="comment">// termination to occur. The 'pendingTermation' indicates why the</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="comment">// slave initiated the destruction and will influence the</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="comment">// information sent in the status updates for any remaining</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="comment">// non-terminal tasks.</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151"> 944</a></span>  <a class="code" href="classOption.html">Option<mesos::slave::ContainerTermination></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151">pendingTermination</a>;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>&) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>& operator=(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>&) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <span class="keywordtype">bool</span> commandExecutor;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> };</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="comment">// Information about a framework.</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html"> 955</a></span> <span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> {</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a98caed7c7f98f89fa2cb716cbfe38217">Framework</a>(</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866">slave</a>,</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>& slaveFlags,</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keyword">const</span> FrameworkInfo& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2">info</a>,</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::UPID></a>& pid);</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a6803557157471add8d9cccc7272beb14">~Framework</a>();</div>
+<div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab05d451e6d84e8da41ac5b156cb7a79f"> 898</a></span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab05d451e6d84e8da41ac5b156cb7a79f">checkpoint</a>;</div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="comment">// An Executor can either be connected via HTTP or by libprocess</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="comment">// message passing. The following are the possible states:</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment">// Agent State Executor State http pid Executor Type</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment">// ----------- -------------- ---- ---- -------------</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment">// RECOVERING REGISTERING None UPID() Unknown</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment">// REGISTERING None Some Libprocess</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="comment">// REGISTERING None None HTTP</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment">// * REGISTERING None None Not known yet</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="comment">// * * None Some Libprocess</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">// * * Some None HTTP</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad432746af325d55919e69efe7d82fbb9"> 912</a></span>  <a class="code" href="classOption.html">Option<HttpConnection></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad432746af325d55919e69efe7d82fbb9">http</a>;</div>
+<div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8"> 913</a></span>  <a class="code" href="classOption.html">Option<process::UPID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a29666bff86d8f043ce5ba4f8a4ccb0b8">pid</a>;</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
+<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="comment">// Tasks can be found in one of the following four data structures:</span></div>
+<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="comment">// TODO(bmahler): Make these private to enforce that the task</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="comment">// lifecycle helper functions are not being bypassed, and provide</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="comment">// public views into them.</span></div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  <span class="comment">// Not yet launched tasks. This also includes tasks from `queuedTaskGroups`.</span></div>
+<div class="line"><a name="l00922"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b"> 922</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, TaskInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a806e8af598eb003694dbaeacdda2c66b">queuedTasks</a>;</div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="comment">// Not yet launched task groups. This is needed for correctly sending</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="comment">// TASK_KILLED status updates for all tasks in the group if any of the</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="comment">// tasks were killed before the executor could register with the agent.</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3"> 927</a></span>  std::list<TaskGroupInfo> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2fc2e9b051c144f259f003b79a3d5ec3">queuedTaskGroups</a>;</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment">// Running.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d"> 930</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, Task*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a8c9a1989d4b769bbccd7ce7385fd054d">launchedTasks</a>;</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="comment">// Terminated but pending updates.</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abd7e32a67b2bf5409c1ab855f3220625"> 933</a></span>  <a class="code" href="classLinkedHashMap.html">LinkedHashMap<TaskID, Task*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abd7e32a67b2bf5409c1ab855f3220625">terminatedTasks</a>;</div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
+<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment">// Terminated and updates acked.</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="comment">// NOTE: We use a shared pointer for Task because clang doesn't like</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="comment">// Boost's implementation of circular_buffer with Task (Boost</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="comment">// attempts to do some memset's which are unsafe).</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad326f6f8e9c161095f6a7e033da58550"> 939</a></span>  boost::circular_buffer<std::shared_ptr<Task>> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ad326f6f8e9c161095f6a7e033da58550">completedTasks</a>;</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="comment">// When the slave initiates a destroy of the container, we expect a</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="comment">// termination to occur. The 'pendingTermation' indicates why the</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="comment">// slave initiated the destruction and will influence the</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="comment">// information sent in the status updates for any remaining</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="comment">// non-terminal tasks.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151"> 946</a></span>  <a class="code" href="classOption.html">Option<mesos::slave::ContainerTermination></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addae2cfbd131b946f10a7986aafac151">pendingTermination</a>;</div>
+<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
+<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>&) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>& operator=(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>&) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordtype">bool</span> isGeneratedForCommandTask_;</div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> };</div>
+<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
+<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
+<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="comment">// Information about a framework.</span></div>
+<div class="line"><a name="l00957"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html"> 957</a></span> <span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a></div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> {</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a98caed7c7f98f89fa2cb716cbfe38217">Framework</a>(</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866">slave</a>,</div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Flags.html">Flags</a>& slaveFlags,</div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keyword">const</span> FrameworkInfo& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2">info</a>,</div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::UPID></a>& pid);</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="comment">// Returns whether the framework is idle, where idle is</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="comment">// defined as having no activity:</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="comment">// (1) The framework has no non-terminal tasks and executors.</span></div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="comment">// (2) All status updates have been acknowledged.</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <span class="comment">// TODO(bmahler): The framework should also not be considered</span></div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="comment">// idle if there are unacknowledged updates for "pending" tasks.</span></div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ac08555852cd25a946886181831cb423e">idle</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ae1271f8b0a5113b0413c4c5ca3035ae5">checkpointFramework</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a6803557157471add8d9cccc7272beb14">~Framework</a>();</div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="comment">// Returns whether the framework is idle, where idle is</span></div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="comment">// defined as having no activity:</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="comment">// (1) The framework has no non-terminal tasks and executors.</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <span class="comment">// (2) All status updates have been acknowledged.</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="comment">// TODO(bmahler): The framework should also not be considered</span></div>
+<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  <span class="comment">// idle if there are unacknowledged updates for "pending" tasks.</span></div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ac08555852cd25a946886181831cb423e">idle</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a65933e3034706258069b54549081fdbf"> 977</a></span>  <span class="keyword">const</span> FrameworkID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a65933e3034706258069b54549081fdbf">id</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> info.id(); }</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ae1271f8b0a5113b0413c4c5ca3035ae5">checkpointFramework</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a4cbc84739c113be2cb1e6b4c88c46983">addExecutor</a>(<span class="keyword">const</span> ExecutorInfo& executorInfo);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aaa044d0c042d68e59815f1244440560e">getExecutor</a>(<span class="keyword">const</span> ExecutorID& executorId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aaa044d0c042d68e59815f1244440560e">getExecutor</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a8a39feb604858a43d0f7f747961d4592">destroyExecutor</a>(<span class="keyword">const</span> ExecutorID& executorId);</div>
+<div class="line"><a name="l00979"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a65933e3034706258069b54549081fdbf"> 979</a></span>  <span class="keyword">const</span> FrameworkID <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a65933e3034706258069b54549081fdbf">id</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> info.id(); }</div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a4cbc84739c113be2cb1e6b4c88c46983">addExecutor</a>(<span class="keyword">const</span> ExecutorInfo& executorInfo);</div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aaa044d0c042d68e59815f1244440560e">getExecutor</a>(<span class="keyword">const</span> ExecutorID& executorId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aaa044d0c042d68e59815f1244440560e">getExecutor</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a440112e6053e7d36a46c18580a1b5133">recoverExecutor</a>(</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1state_1_1ExecutorState.html">state::ExecutorState</a>& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#adbfec960b7cb705602bdac9853fb0c12">state</a>,</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keywordtype">bool</span> recheckpointExecutor,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<TaskID></a>& tasksToRecheckpoint);</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> </div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aeb25f4fcc70053454fa9b96fdc723472">addPendingTask</a>(</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keyword">const</span> ExecutorID& executorId,</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keyword">const</span> TaskInfo& task);</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="comment">// Note that these tasks will also be tracked within `pendingTasks`.</span></div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af3e51bb9c1d72d282695d8a4a9b2e072">addPendingTaskGroup</a>(</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keyword">const</span> ExecutorID& executorId,</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keyword">const</span> TaskGroupInfo& taskGroup);</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa4d1693c6eaeccb8df16ae925c3979e0">hasTask</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab67788cb552b7320783b7ecd7b80f82a">isPending</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="comment">// Returns the task group associated with a pending task.</span></div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <a class="code" href="classOption.html">Option<TaskGroupInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a1c287e7b3a052ddbddc88f26a33784d4">getTaskGroupForPendingTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="comment">// Returns whether the pending task was removed.</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aabbcae80a9967d73db3218e33505921c">removePendingTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <a class="code" href="classOption.html">Option<ExecutorID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a2fff4fc7fabe8cd06c9fca35f187b82b">getExecutorIdForPendingTask</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a8a39feb604858a43d0f7f747961d4592">destroyExecutor</a>(<span class="keyword">const</span> ExecutorID& executorId);</div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a440112e6053e7d36a46c18580a1b5133">recoverExecutor</a>(</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1state_1_1ExecutorState.html">state::ExecutorState</a>& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#adbfec960b7cb705602bdac9853fb0c12">state</a>,</div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keywordtype">bool</span> recheckpointExecutor,</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<TaskID></a>& tasksToRecheckpoint);</div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> </div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aeb25f4fcc70053454fa9b96fdc723472">addPendingTask</a>(</div>
+<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keyword">const</span> ExecutorID& executorId,</div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keyword">const</span> TaskInfo& task);</div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="comment">// Note that these tasks will also be tracked within `pendingTasks`.</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af3e51bb9c1d72d282695d8a4a9b2e072">addPendingTaskGroup</a>(</div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keyword">const</span> ExecutorID& executorId,</div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keyword">const</span> TaskGroupInfo& taskGroup);</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa4d1693c6eaeccb8df16ae925c3979e0">hasTask</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab67788cb552b7320783b7ecd7b80f82a">isPending</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="comment">// Returns the task group associated with a pending task.</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <a class="code" href="classOption.html">Option<TaskGroupInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a1c287e7b3a052ddbddc88f26a33784d4">getTaskGroupForPendingTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> </div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="comment">// Returns whether the pending task was removed.</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aabbcae80a9967d73db3218e33505921c">removePendingTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a004ea3cee927e6983397de310e42a0d1">allocatedResources</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <a class="code" href="classOption.html">Option<ExecutorID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a2fff4fc7fabe8cd06c9fca35f187b82b">getExecutorIdForPendingTask</a>(<span class="keyword">const</span> TaskID& taskId) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8add"> 1012</a></span>  <span class="keyword">enum</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8add">State</a></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  {</div>
-<div class="line"><a name="l01014"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8addaee1aee9245f83af93404e62fe978dcc0"> 1014</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8addaee1aee9245f83af93404e62fe978dcc0">RUNNING</a>, <span class="comment">// First state of a newly created framework.</span></div>
-<div class="line"><a name="l01015"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8adda577bc0be9a10978a6926259b04ac779e"> 1015</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8adda577bc0be9a10978a6926259b04ac779e">TERMINATING</a>, <span class="comment">// Framework is shutting down in the cluster.</span></div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#adbfec960b7cb705602bdac9853fb0c12">state</a>;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods and</span></div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="comment">// variables. One could imagine 'Framework' being an inner class of</span></div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="comment">// the 'Slave' class.</span></div>
-<div class="line"><a name="l01021"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866"> 1021</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866">slave</a>;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2"> 1023</a></span>  FrameworkInfo <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2">info</a>;</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a004ea3cee927e6983397de310e42a0d1">allocatedResources</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
+<div class="line"><a name="l01014"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8add"> 1014</a></span>  <span class="keyword">enum</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8add">State</a></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  {</div>
+<div class="line"><a name="l01016"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8addaee1aee9245f83af93404e62fe978dcc0"> 1016</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8addaee1aee9245f83af93404e62fe978dcc0">RUNNING</a>, <span class="comment">// First state of a newly created framework.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8adda577bc0be9a10978a6926259b04ac779e"> 1017</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#accb4e9c8d32936b20f3d0ddc71fe8adda577bc0be9a10978a6926259b04ac779e">TERMINATING</a>, <span class="comment">// Framework is shutting down in the cluster.</span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#adbfec960b7cb705602bdac9853fb0c12">state</a>;</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods and</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="comment">// variables. One could imagine 'Framework' being an inner class of</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="comment">// the 'Slave' class.</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866"> 1023</a></span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html">Slave</a>* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a28542cb83d680c4bd37f31ae58382866">slave</a>;</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
-<div class="line"><a name="l01025"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af7ac61858b800f9b2adf0778d442f3ab"> 1025</a></span>  <a class="code" href="structmesos_1_1internal_1_1protobuf_1_1framework_1_1Capabilities.html">protobuf::framework::Capabilities</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af7ac61858b800f9b2adf0778d442f3ab">capabilities</a>;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2"> 1025</a></span>  FrameworkInfo <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ab024621d83bc1381fd176d0fc8cdeac2">info</a>;</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> </div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="comment">// Frameworks using the scheduler driver will have a 'pid',</span></div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="comment">// which allows us to send executor messages directly to the</span></div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="comment">// driver. Frameworks using the HTTP API (in 0.24.0) will</span></div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="comment">// not have a 'pid', in which case executor messages are</span></div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="comment">// sent through the master.</span></div>
-<div class="line"><a name="l01032"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461"> 1032</a></span>  <a class="code" href="classOption.html">Option<process::UPID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461">pid</a>;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="comment">// Executors can be found in one of the following</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="comment">// data structures:</span></div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="comment">// TODO(bmahler): Make these private to enforce that</span></div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="comment">// the executors lifecycle helper functions are not</span></div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="comment">// being bypassed, and provide public views into them.</span></div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="comment">// Executors with pending tasks.</span></div>
-<div class="line"><a name="l01042"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da"> 1042</a></span>  <a class="code" href="classhashmap.html">hashmap<ExecutorID, hashmap<TaskID, TaskInfo></a>> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da">pendingTasks</a>;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="comment">// Pending task groups. This is needed for correctly sending</span></div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="comment">// TASK_KILLED status updates for all tasks in the group if</span></div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="comment">// any of the tasks are killed while pending.</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988"> 1047</a></span>  std::list<TaskGroupInfo> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">pendingTaskGroups</a>;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="comment">// Current running executors.</span></div>
-<div class="line"><a name="l01050"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f"> 1050</a></span>  <a class="code" href="classhashmap.html">hashmap<ExecutorID, Executor*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f">executors</a>;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a64da4492057ddd2ed2019e737819d79b"> 1052</a></span>  boost::circular_buffer<process::Owned<Executor>> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a64da4492057ddd2ed2019e737819d79b">completedExecutors</a>;</div>
+<div class="line"><a name="l01027"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af7ac61858b800f9b2adf0778d442f3ab"> 1027</a></span>  <a class="code" href="structmesos_1_1internal_1_1protobuf_1_1framework_1_1Capabilities.html">protobuf::framework::Capabilities</a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#af7ac61858b800f9b2adf0778d442f3ab">capabilities</a>;</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="comment">// Frameworks using the scheduler driver will have a 'pid',</span></div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="comment">// which allows us to send executor messages directly to the</span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="comment">// driver. Frameworks using the HTTP API (in 0.24.0) will</span></div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="comment">// not have a 'pid', in which case executor messages are</span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="comment">// sent through the master.</span></div>
+<div class="line"><a name="l01034"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461"> 1034</a></span>  <a class="code" href="classOption.html">Option<process::UPID></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#ad7dbb2013ee11ad0a55f177bfd7a0461">pid</a>;</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="comment">// Executors can be found in one of the following</span></div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="comment">// data structures:</span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="comment">// TODO(bmahler): Make these private to enforce that</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <span class="comment">// the executors lifecycle helper functions are not</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="comment">// being bypassed, and provide public views into them.</span></div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="comment">// Executors with pending tasks.</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da"> 1044</a></span>  <a class="code" href="classhashmap.html">hashmap<ExecutorID, hashmap<TaskID, TaskInfo></a>> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a895612a28929288abe2071620d7958da">pendingTasks</a>;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="comment">// Pending task groups. This is needed for correctly sending</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  <span class="comment">// TASK_KILLED status updates for all tasks in the group if</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="comment">// any of the tasks are killed while pending.</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988"> 1049</a></span>  std::list<TaskGroupInfo> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#aa52d24c559cecfc18ba6167dd72c1988">pendingTaskGroups</a>;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="comment">// Current running executors.</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f"> 1052</a></span>  <a class="code" href="classhashmap.html">hashmap<ExecutorID, Executor*></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a67ace79356a9523a2486d8ffd235847f">executors</a>;</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html#a98caed7c7f98f89fa2cb716cbfe38217">Framework</a>(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a>&) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a>& operator=(<span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Framework.html">Framework</a>&) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> };</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html"> 1060</a></span> <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html">ResourceProvider</a></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> {</div>
-<div class="line"><a name="l01062"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#afe22db29500a5157a6fb0c5da3fb9d2f"> 1062</a></span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#afe22db29500a5157a6fb0c5da3fb9d2f">ResourceProvider</a>(</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <span class="keyword">const</span> ResourceProviderInfo& _info,</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& _totalResources,</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keyword">const</span> <a class="code" href="structid_1_1UUID.html">id::UUID</a>& _resourceVersion)</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  : <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a8babf26b02de2788d8b7286e20a29022">info</a>(_info),</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a809ab46f97f691d5531acd90cb31046d">totalResources</a>(_totalResources),</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#ae060949faa77368204096b365762887d">resourceVersion</a>(_resourceVersion) {}</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordtype">void</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a456820eaf76022ca80a85e54128c9b0b">addOperation</a>(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keywordtype">void</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#ae1654f336624584a7ce6dcee9e61776f">removeOperation</a>(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a8babf26b02de2788d8b7286e20a29022"> 1073</a></span>  ResourceProviderInfo <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a8babf26b02de2788d8b7286e20a29022">info</a>;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a809ab46f97f691d5531acd90cb31046d"> 1074</a></span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a809ab46f97f691d5531acd90cb31046d">totalResources</a>;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="comment">// Used to establish the relationship between the operation and the</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="comment">// resources that the operation is operating on. Each resource</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="comment">// provider will keep a resource version UUID, and change it when it</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="comment">// believes that the resources from this resource provider are out</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="comment">// of sync from the master's view. The master will keep track of</span></div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="comment">// the last known resource version UUID for each resource provider,</span></div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="comment">// and attach the resource version UUID in each operation it sends</span></div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="comment">// out. The resource provider should reject operations that have a</span></div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="comment">// different resource version UUID than that it maintains, because</span></div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="comment">// this means the operation is operating on resources that might</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="comment">// have already been invalidated.</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#ae060949faa77368204096b365762887d"> 1087</a></span>  <a class="code" href="structid_1_1UUID.html">id::UUID</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#ae060949faa77368204096b365762887d">resourceVersion</a>;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="comment">// Pending operations or terminal operations that have</span></div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <span class="comment">// unacknowledged status updates.</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a2bfb4966449d3755fce5ee7d4ba8ffd9"> 1091</a></span>  <a class="code" href="classhashmap.html">hashmap<id::UUID, Operation*></a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1ResourceProvider.html#a2bfb4966449d3755fce5ee7d4ba8ffd9">operations</a>;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> };</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> std::map<std::string, std::string> <a class="code" href="namespacemesos_1_1internal_1_1slave.html#a300cf38a0e34b0dded9297699aad4cd7">executorEnvironment</a>(</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  <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="l01110"></a><span class="lineno"> 1110</span>  <span class="keyword">const</span> ExecutorInfo& executorInfo,</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="keyword">const</span> std::string& directory,</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keyword">const</span> SlaveID& slaveId,</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1PID.html">pro
<TRUNCATED>