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/08 00:13:42 UTC
[05/10] mesos-site git commit: Updated the website built from mesos
SHA: ea98a34.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/4e665fc2/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 3188c45..b087bb0 100644
--- a/content/api/latest/c++/slave_8hpp_source.html
+++ b/content/api/latest/c++/slave_8hpp_source.html
@@ -621,470 +621,478 @@
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordtype">void</span> apply(<span class="keyword">const</span> std::vector<ResourceConversion>& conversions);</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="comment">// Gauge methods.</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordtype">double</span> _frameworks_active()</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(frameworks.size());</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordtype">double</span> _uptime_secs()</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keywordflow">return</span> (<a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>() - startTime).secs();</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  }</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordtype">double</span> _registered()</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">return</span> master.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() ? 1 : 0;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  }</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordtype">double</span> _tasks_staging();</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordtype">double</span> _tasks_starting();</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordtype">double</span> _tasks_running();</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordtype">double</span> _tasks_killing();</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordtype">double</span> _executors_registering();</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordtype">double</span> _executors_running();</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordtype">double</span> _executors_terminating();</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordtype">double</span> _executor_directory_max_allowed_age_secs();</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordtype">double</span> _resources_total(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordtype">double</span> _resources_used(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordtype">double</span> _resources_percent(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordtype">double</span> _resources_revocable_total(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordtype">double</span> _resources_revocable_used(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordtype">double</span> _resources_revocable_percent(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="comment">// Publish all resources that are needed to run the current set of</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="comment">// tasks and executors on the agent.</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="comment">// NOTE: The `additionalResources` parameter is for publishing</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="comment">// additional task resources when launching executors. Consider</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="comment">// removing this parameter once we revisited MESOS-600.</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> publishResources(</div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<Resources></a>& additionalResources = <a class="code" href="structNone.html">None</a>());</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">// Gauge methods.</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordtype">double</span> _frameworks_active()</div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  {</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(frameworks.size());</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  }</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordtype">double</span> _uptime_secs()</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  {</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">return</span> (<a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>() - startTime).secs();</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  }</div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordtype">double</span> _registered()</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  {</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">return</span> master.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() ? 1 : 0;</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  }</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordtype">double</span> _tasks_staging();</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordtype">double</span> _tasks_starting();</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordtype">double</span> _tasks_running();</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordtype">double</span> _tasks_killing();</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordtype">double</span> _executors_registering();</div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordtype">double</span> _executors_running();</div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordtype">double</span> _executors_terminating();</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
+<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordtype">double</span> _executor_directory_max_allowed_age_secs();</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="comment">// Checks whether the two `SlaveInfo` objects are considered</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="comment">// compatible based on the value of the `--configuration_policy`</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="comment">// flag.</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <a class="code" href="classTry.html">Try<Nothing></a> compatible(</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keyword">const</span> SlaveInfo& previous,</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keyword">const</span> SlaveInfo& current) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  protobuf::master::Capabilities requiredMasterCapabilities;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keyword">const</span> Flags <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aba95e2a7762bb5df986048b05d03a22e">Http</a> <a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  SlaveInfo info;</div>
+<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keywordtype">double</span> _resources_total(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordtype">double</span> _resources_used(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="keywordtype">double</span> _resources_percent(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keywordtype">double</span> _resources_revocable_total(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keywordtype">double</span> _resources_revocable_used(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordtype">double</span> _resources_revocable_percent(<span class="keyword">const</span> std::string& <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="comment">// Checks whether the two `SlaveInfo` objects are considered</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="comment">// compatible based on the value of the `--configuration_policy`</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="comment">// flag.</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <a class="code" href="classTry.html">Try<Nothing></a> compatible(</div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> SlaveInfo& previous,</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> SlaveInfo& current) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  protobuf::slave::Capabilities capabilities;</div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  protobuf::master::Capabilities requiredMasterCapabilities;</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="comment">// Resources that are checkpointed by the slave.</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> checkpointedResources;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="comment">// The current total resources of the agent, i.e., `info.resources()` with</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="comment">// checkpointed resources applied and resource provider resources.</span></div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> totalResources;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <a class="code" href="classOption.html">Option<process::UPID></a> master;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <a class="code" href="classhashmap.html">hashmap<FrameworkID, Framework*></a> frameworks;</div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keyword">const</span> Flags <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#aba95e2a7762bb5df986048b05d03a22e">Http</a> <a class="code" href="namespacemesos_1_1uri.html#a5dff7c4a2df7be12fb642b5801c34f9f">http</a>;</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  SlaveInfo info;</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  protobuf::slave::Capabilities capabilities;</div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="comment">// Resources that are checkpointed by the slave.</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> checkpointedResources;</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="comment">// Note that these frameworks are "completed" only in that</span></div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="comment">// they no longer have any active tasks or executors on this</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="comment">// particular agent.</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="comment">// TODO(bmahler): Implement a more accurate framework lifecycle</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="comment">// in the agent code, ideally the master can inform the agent</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="comment">// when a framework is actually completed, and the agent can</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// perhaps store a cache of "idle" frameworks. See MESOS-7890.</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <a class="code" href="classBoundedHashMap.html">BoundedHashMap<FrameworkID, process::Owned<Framework></a>> completedFrameworks;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  Containerizer* containerizer;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  Files* files;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a33768639ed69e6812b805bd70b29bf35">Metrics</a> <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a>;</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="comment">// The current total resources of the agent, i.e., `info.resources()` with</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="comment">// checkpointed resources applied and resource provider resources.</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> totalResources;</div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <a class="code" href="classOption.html">Option<process::UPID></a> master;</div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <a class="code" href="classhashmap.html">hashmap<FrameworkID, Framework*></a> frameworks;</div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="comment">// Note that these frameworks are "completed" only in that</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="comment">// they no longer have any active tasks or executors on this</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="comment">// particular agent.</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="comment">//</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="comment">// TODO(bmahler): Implement a more accurate framework lifecycle</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// in the agent code, ideally the master can inform the agent</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="comment">// when a framework is actually completed, and the agent can</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="comment">// perhaps store a cache of "idle" frameworks. See MESOS-7890.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <a class="code" href="classBoundedHashMap.html">BoundedHashMap<FrameworkID, process::Owned<Framework></a>> completedFrameworks;</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime;</div>
+<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector;</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  GarbageCollector* gc;</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  Containerizer* containerizer;</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  TaskStatusUpdateManager* taskStatusUpdateManager;</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  Files* files;</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="comment">// Master detection future.</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Option<MasterInfo></a>> detection;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">// Master's ping timeout value, updated on reregistration.</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <a class="code" href="classDuration.html">Duration</a> masterPingTimeout;</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Slave.html#a33768639ed69e6812b805bd70b29bf35">Metrics</a> <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a>;</div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime;</div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  GarbageCollector* gc;</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="comment">// Timer for triggering re-detection when no ping is received from</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="comment">// the master.</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> pingTimer;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="comment">// Timer for triggering agent (re)registration after detecting a new master.</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> agentRegistrationTimer;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="comment">// Root meta directory containing checkpointed data.</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keyword">const</span> std::string metaDir;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="comment">// Indicates the number of errors ignored in "--no-strict" recovery mode.</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> recoveryErrors;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <a class="code" href="classOption.html">Option<Credential></a> credential;</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  TaskStatusUpdateManager* taskStatusUpdateManager;</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="comment">// Master detection future.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Option<MasterInfo></a>> detection;</div>
+<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="comment">// Master's ping timeout value, updated on reregistration.</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <a class="code" href="classDuration.html">Duration</a> masterPingTimeout;</div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="comment">// Timer for triggering re-detection when no ping is received from</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="comment">// the master.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> pingTimer;</div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="comment">// Timer for triggering agent (re)registration after detecting a new master.</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> agentRegistrationTimer;</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="comment">// Authenticatee name as supplied via flags.</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  std::string authenticateeName;</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="comment">// Root meta directory containing checkpointed data.</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keyword">const</span> std::string metaDir;</div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <a class="code" href="classmesos_1_1Authenticatee.html">Authenticatee</a>* authenticatee;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="comment">// Indicates if an authentication attempt is in progress.</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <a class="code" href="classOption.html">Option<process::Future<bool></a>> authenticating;</div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="comment">// Indicates the number of errors ignored in "--no-strict" recovery mode.</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> recoveryErrors;</div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <a class="code" href="classOption.html">Option<Credential></a> credential;</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="comment">// Indicates if the authentication is successful.</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordtype">bool</span> authenticated;</div>
+<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="comment">// Authenticatee name as supplied via flags.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  std::string authenticateeName;</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="comment">// Indicates if a new authentication attempt should be enforced.</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordtype">bool</span> reauthenticate;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="comment">// Indicates the number of failed authentication attempts.</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  uint64_t failedAuthentications;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="comment">// Maximum age of executor directories. Will be recomputed</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">// periodically every flags.disk_watch_interval.</span></div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <a class="code" href="classDuration.html">Duration</a> executorDirectoryMaxAllowedAge;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController;</div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="classmesos_1_1Authenticatee.html">Authenticatee</a>* authenticatee;</div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="comment">// Indicates if an authentication attempt is in progress.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <a class="code" href="classOption.html">Option<process::Future<bool></a>> authenticating;</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
+<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="comment">// Indicates if the authentication is successful.</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordtype">bool</span> authenticated;</div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// Indicates if a new authentication attempt should be enforced.</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordtype">bool</span> reauthenticate;</div>
+<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="comment">// Indicates the number of failed authentication attempts.</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  uint64_t failedAuthentications;</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <a class="code" href="classmesos_1_1SecretGenerator.html">mesos::SecretGenerator</a>* secretGenerator;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<Authorizer*></a> authorizer;</div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="comment">// Maximum age of executor directories. Will be recomputed</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="comment">// periodically every flags.disk_watch_interval.</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <a class="code" href="classDuration.html">Duration</a> executorDirectoryMaxAllowedAge;</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="comment">// The most recent estimate of the total amount of oversubscribed</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="comment">// (allocated and oversubscribable) resources.</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="classOption.html">Option<Resources></a> oversubscribedResources;</div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator;</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
+<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController;</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  ResourceProviderManager resourceProviderManager;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <a class="code" href="classprocess_1_1Owned.html">process::Owned<LocalResourceProviderDaemon></a> localResourceProviderDaemon;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <a class="code" href="classhashmap.html">hashmap<Option<ResourceProviderID></a>, <a class="code" href="structid_1_1UUID.html">UUID</a>> resourceVersions;</div>
+<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <a class="code" href="classmesos_1_1SecretGenerator.html">mesos::SecretGenerator</a>* secretGenerator;</div>
+<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
+<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<Authorizer*></a> authorizer;</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">// Pending operations or terminal operations that have</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// unacknowledged status updates.</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="classhashmap.html">hashmap<UUID, OfferOperation*></a> offerOperations;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> };</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment">// Represents the streaming HTTP connection to an executor.</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html"> 722</a></span> <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html">HttpConnection</a></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> {</div>
-<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af"> 724</a></span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af">HttpConnection</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">process::http::Pipe::Writer</a>& _writer,</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType)</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  : <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>(_writer),</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>(_contentType),</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>(lambda::<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">bind</a>(<a class="code" href="namespacemesos_1_1internal.html#a9c1f91de8a8a389b357b81f7b51b0554">serialize</a>, <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>, lambda::_1)) {}</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="comment">// Converts the message to an Event before sending.</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div>
-<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b"> 732</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b">send</a>(<span class="keyword">const</span> Message& message)</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment">// We need to evolve the internal 'message' into a</span></div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment">// 'v1::executor::Event'.</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#ad945bef2134c872f8ea43dea6db84c66">write</a>(<a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>.encode(<a class="code" href="namespacemesos_1_1internal.html#a845d4d5a46b931d03f340c8afc58b60a">evolve</a>(message)));</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834"> 739</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834">close</a>()</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#aecc37af3f66360a47184a1146ae92756">close</a>();</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  }</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2"> 744</a></span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2">closed</a>()<span class="keyword"> const</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keyword"> </span>{</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#afc6072a9fbcb92a6a1b4978b89797583">readerClosed</a>();</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  }</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3"> 749</a></span>  <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_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e"> 750</a></span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8"> 751</a></span>  <a class="code" href="classrecordio_1_1Encoder.html">::recordio::Encoder<v1::executor::Event></a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> };</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> std::ostream& <a class="code" href="namespacemesos_1_1internal_1_1slave.html#acc816a5f127bb40e7d5464befda0a0a9">operator<<</a>(std::ostream& stream, <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>& executor);</div>
+<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">// The most recent estimate of the total amount of oversubscribed</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// (allocated and oversubscribable) resources.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="classOption.html">Option<Resources></a> oversubscribedResources;</div>
+<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  ResourceProviderManager resourceProviderManager;</div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <a class="code" href="classprocess_1_1Owned.html">process::Owned<LocalResourceProviderDaemon></a> localResourceProviderDaemon;</div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <a class="code" href="classhashmap.html">hashmap<Option<ResourceProviderID></a>, <a class="code" href="structid_1_1UUID.html">UUID</a>> resourceVersions;</div>
+<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="comment">// Pending operations or terminal operations that have</span></div>
+<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// unacknowledged status updates.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="classhashmap.html">hashmap<UUID, OfferOperation*></a> offerOperations;</div>
+<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> };</div>
+<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="comment">// Represents the streaming HTTP connection to an executor.</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html"> 730</a></span> <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html">HttpConnection</a></div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> {</div>
+<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af"> 732</a></span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af">HttpConnection</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html">process::http::Pipe::Writer</a>& _writer,</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType)</div>
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  : <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>(_writer),</div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>(_contentType),</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>(lambda::<a class="code" href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">bind</a>(<a class="code" href="namespacemesos_1_1internal.html#a9c1f91de8a8a389b357b81f7b51b0554">serialize</a>, <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>, lambda::_1)) {}</div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment">// Converts the message to an Event before sending.</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div>
+<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b"> 740</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b">send</a>(<span class="keyword">const</span> Message& message)</div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  {</div>
+<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="comment">// We need to evolve the internal 'message' into a</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="comment">// 'v1::executor::Event'.</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#ad945bef2134c872f8ea43dea6db84c66">write</a>(<a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>.encode(<a class="code" href="namespacemesos_1_1internal.html#a845d4d5a46b931d03f340c8afc58b60a">evolve</a>(message)));</div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  }</div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
+<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834"> 747</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834">close</a>()</div>
+<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  {</div>
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#aecc37af3f66360a47184a1146ae92756">close</a>();</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  }</div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2"> 752</a></span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2">closed</a>()<span class="keyword"> const</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keyword"> </span>{</div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">return</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>.<a class="code" href="classprocess_1_1http_1_1Pipe_1_1Writer.html#afc6072a9fbcb92a6a1b4978b89797583">readerClosed</a>();</div>
+<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  }</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">// Information describing an executor.</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html"> 759</a></span> <span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</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="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</span>  <span class="keyword">const</span> ContainerID& containerId,</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</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="l00769"></a><span class="lineno"> 769</span>  <span class="keywordtype">bool</span> checkpoint);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a87195f2f07ffa5b1f9519ed3540e872f">~Executor</a>();</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="comment">// Note that these tasks will also be tracked within `queuedTasks`.</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abe675d27487a5748f11f31eb38092884">enqueueTaskGroup</a>(<span class="keyword">const</span> TaskGroupInfo& taskGroup);</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#accfe2724d99c51d3c399c9a20548c2a7">enqueueTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <a class="code" href="classOption.html">Option<TaskInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a18ade8fb3c2a5b174b7a72d02533dee7">dequeueTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  Task* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a7edce93b988b10f4cbb4bd7ff47f6254">addLaunchedTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a99724999c57ea8059b70451be58ab6af">completeTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab00309cd3d1c22e2ce1051e33d829c3c">checkpointExecutor</a>();</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a0a36624c6fe507a5fe4afa57543c5257">checkpointTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a0a36624c6fe507a5fe4afa57543c5257">checkpointTask</a>(<span class="keyword">const</span> Task& task);</div>
+<div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3"> 757</a></span>  <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_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>;</div>
+<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e"> 758</a></span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>;</div>
+<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8"> 759</a></span>  <a class="code" href="classrecordio_1_1Encoder.html">::recordio::Encoder<v1::executor::Event></a> <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8">encoder</a>;</div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> };</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> std::ostream& <a class="code" href="namespacemesos_1_1internal_1_1slave.html#acc816a5f127bb40e7d5464befda0a0a9">operator<<</a>(std::ostream& stream, <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a>& executor);</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
+<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="comment">// Information describing an executor.</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html"> 767</a></span> <span class="keyword">class </span><a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html">Executor</a></div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> {</div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(</div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</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="l00772"></a><span class="lineno"> 772</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
+<div class="line"><a name="l00773"></a><span class="lineno"> 773</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="l00774"></a><span class="lineno"> 774</span>  <span class="keyword">const</span> ContainerID& containerId,</div>
+<div class="line"><a name="l00775"></a><span class="lineno"> 775</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="l00776"></a><span class="lineno"> 776</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="l00777"></a><span class="lineno"> 777</span>  <span class="keywordtype">bool</span> checkpoint);</div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a87195f2f07ffa5b1f9519ed3540e872f">~Executor</a>();</div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> </div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="comment">// Note that these tasks will also be tracked within `queuedTasks`.</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#abe675d27487a5748f11f31eb38092884">enqueueTaskGroup</a>(<span class="keyword">const</span> TaskGroupInfo& taskGroup);</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a89977a8c4cec7c54a41f20e763532b3c">recoverTask</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1state_1_1TaskState.html">state::TaskState</a>& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>, <span class="keywordtype">bool</span> recheckpointTask);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="classTry.html">Try<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a78d4cb7ddccb6a2f7cdf31475ed7e83d">updateTaskState</a>(<span class="keyword">const</span> TaskStatus& <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">// Returns true if there are any queued/launched/terminated tasks.</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a79093461e7bc35f4b4b9c7a796b88e2e">incompleteTasks</a>();</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// Sends a message to the connected executor.</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div>
-<div class="line"><a name="l00793"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43"> 793</a></span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43">send</a>(<span class="keyword">const</span> Message& message)</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  {</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">if</span> (state == <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d">REGISTERING</a> || state == <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75">TERMINATED</a>) {</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  LOG(WARNING) << <span class="stringliteral">"Attempting to send message to disconnected"</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  << <span class="stringliteral">" executor "</span> << *<span class="keyword">this</span> << <span class="stringliteral">" in state "</span> << <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> </div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">if</span> (http.isSome()) {</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> (!http-><a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b">send</a>(message)) {</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  << <span class="stringliteral">": connection closed"</span>;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  }</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pid.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  slave-><a class="code" href="classProtobufProcess.html#a6c404fdc490a7199a0d2ad881d588e5c">send</a>(pid.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), message);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  << <span class="stringliteral">": unknown connection type"</span>;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  }</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">// Returns true if this is a command executor.</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</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="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="comment">// Closes the HTTP connection.</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</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="l00818"></a><span class="lineno"> 818</span> </div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="comment">// Returns the task group associated with the task.</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</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="l00821"></a><span class="lineno"> 821</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</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="l00784"></a><span class="lineno"> 784</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#accfe2724d99c51d3c399c9a20548c2a7">enqueueTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <a class="code" href="classOption.html">Option<TaskInfo></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a18ade8fb3c2a5b174b7a72d02533dee7">dequeueTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  Task* <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a7edce93b988b10f4cbb4bd7ff47f6254">addLaunchedTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a99724999c57ea8059b70451be58ab6af">completeTask</a>(<span class="keyword">const</span> TaskID& taskId);</div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab00309cd3d1c22e2ce1051e33d829c3c">checkpointExecutor</a>();</div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a0a36624c6fe507a5fe4afa57543c5257">checkpointTask</a>(<span class="keyword">const</span> TaskInfo& task);</div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a0a36624c6fe507a5fe4afa57543c5257">checkpointTask</a>(<span class="keyword">const</span> Task& task);</div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a89977a8c4cec7c54a41f20e763532b3c">recoverTask</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1slave_1_1state_1_1TaskState.html">state::TaskState</a>& <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>, <span class="keywordtype">bool</span> recheckpointTask);</div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <a class="code" href="classTry.html">Try<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a78d4cb7ddccb6a2f7cdf31475ed7e83d">updateTaskState</a>(<span class="keyword">const</span> TaskStatus& <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>);</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> </div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="comment">// Returns true if there are any queued/launched/terminated tasks.</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a79093461e7bc35f4b4b9c7a796b88e2e">incompleteTasks</a>();</div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="comment">// Sends a message to the connected executor.</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div>
+<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43"> 801</a></span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43">send</a>(<span class="keyword">const</span> Message& message)</div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  {</div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">if</span> (state == <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d">REGISTERING</a> || state == <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75">TERMINATED</a>) {</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  LOG(WARNING) << <span class="stringliteral">"Attempting to send message to disconnected"</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  << <span class="stringliteral">" executor "</span> << *<span class="keyword">this</span> << <span class="stringliteral">" in state "</span> << <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  }</div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
+<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="keywordflow">if</span> (http.isSome()) {</div>
+<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">if</span> (!http-><a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b">send</a>(message)) {</div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  << <span class="stringliteral">": connection closed"</span>;</div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  }</div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pid.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  slave-><a class="code" href="classProtobufProcess.html#a6c404fdc490a7199a0d2ad881d588e5c">send</a>(pid.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>(), message);</div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  << <span class="stringliteral">": unknown connection type"</span>;</div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  }</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  }</div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="comment">// Returns true if this is a command executor.</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</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="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0"> 824</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="l00825"></a><span class="lineno"> 825</span>  {</div>
-<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"> 826</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="l00827"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683"> 827</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="l00828"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920"> 828</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="l00829"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_
<TRUNCATED>